- From: Rowland Shaw <Rowland.Shaw@crystaldecisions.com>
- Date: Tue, 19 Nov 2002 00:27:30 -0800
- To: Christoph Päper <christoph@paeper.de>, <www-html@w3.org>
Seems like a reasonable suggestion, a few comments I'd make: * I would see dates in a separate element * This would make pages very simple to localise -- so I may put something like <nr value="123456.789" lang="en-gb">123,456.789</nr> and have it displayed as 132.456,789 on a German machine -- hopefully you can see where I'm going with this -- the number represents the semantics of the element (i.e. the absolute value) but lets the UA decide on presentations based on many things, including the client's locale. I'd prefer the date and time to be something more akin to: <p>It's my birthday on <date month="11" day="23" year="2002" form="shortdate">23/11/02</date></p> And again, an en-us user would see "It's my birthday on 11/23/2002", and ja users(?) might see "It's my birthday on 2002/11/23" Again, with times, define the hour, minute[, second[, timezone[, etc]]] and display for different locales (8:26 AM, 08:26, 3:26 EST, etc) -----Original Message----- From: Christoph Päper [mailto:christoph.paeper@tu-clausthal.de] Sent: 19 November 2002 01:39 To: www-html@w3.org Subject: Element for Numbers A while back (<mid:018701c249f7$e1d41e80$3ef4ae8b@heim4.tuclausthal.de>, <http://lists.w3.org/Archives/Public/www-html/2002Aug/0313.html>) I proposed a new element for marking up numbers. I thought a bit about it and came to the conclusion, that that approach isn't applicable for a simple markup language like (X)HTML, that should be easy to learn. The main intentions were keeping together what belongs together (value and unit, preceding minus) and are still valid. Thus I precise/correct the proposal as following: <proposal> Element | Attributes | Minimal Content Model ---------+-------------------------+----------------------- nr | Common, value (Number), | (PCDATA | Inline)* | dim (Dimension) | X.Y The *nr* element The nr element indicates that a text fragment is of a numeric kind (e.g. date, measurement, price). It may supply a standardized representation of the enclosed term and may then be treated as a replaced element: the UA replaces the contents by a form best matching the document language and user preferences. /Attributes/ The Common collection A collection of other attribute collections, including: Core, Events, I18N, and Hypertext value = number <!-- could be text [CI] --> This attribute serves the actual value of the enclosed text. dim = dimension <!-- could be text [CD] --> This attribute specifies the literal dimension to the value attribute. /Examples/ | Henry <nr value="7" dim=".">VII</nr> had <nr value="6">six</nr> wives. | <nr value="355.6" dim="mm">14''</nr> display. | <nr value="123,000,255,017" dim="&">123.0.255.17</nr> is an IP address, | <nr value="49,160,1111111" dim="&"> a German mobile phone number. | We'll meet on <nr value="2002-08-22" dim="date">August 22nd</nr> | at <nr value="12:00+00:00" dim="time">twelve o'clock</nr>. | <nr value="5">Five</nr> is binary | <nr><nr>1</nr><nr>0</nr><nr>1</nr></nr>. | <nr dim="date"> | <nr value="22" dim="DD">22.</nr> | <nr value="08" dim="MM">VIII. </nr> | <nr value="2002" dim="YYYY"> | <abbr title="Anno Domini" xml:lang="la">A.D.</abbr> 2002 | </nr> | </nr> ------------------------------------------------------------------------ 5.5 Attribute Types Number Either a signed decimal number with optional signed two digit exponent and mantissa separated by a dot (e.g. -1.2345E+03), ISO [ISO 8601] or a comma separated list of numbers. Dimension A case dependent string describing a dimension according to table 1: (x and y are literal variables, 0 is numeric variable everything else is a string.) Table 1: -----+--------------------------------------------------------------- . | ordinal # | general numeric value, default & | a phone or similar number, incl. IP numbers % | percentage xy | a unit 'y' (tables 3) possibly preceded by a modifier 'x', | (table 4) and maybe succeeded by an integer as exponent. | Combinations with 0, ^, * and / are possible. $x | The currency that the (omittable) string 'x' consisting of | three uppercase chars refers to, e.g. "$USD". *x | a date or time, for values of 'x' see table 2, if 'x' is | omitted, any ISO date, time, span format is acceptable: date | keyword, a date in ISO format (2002-11-18). time | keyword, a time in ISO format. span | keyword, a time span in ISO format. zip | keyword, a postal code. ... | ... -----+--------------------------------------------------------------- <!-- date, time and span could be omitted in favor of '*', zip for '&'. Or vice versa, there could be keywords like 'ordinal' as well. --> Table 2: Date and time values -----+--------------------------------------------------------------- CC | century with leading zero, signed YY | year of century with leading zero MM | numeral month of year with leading zero DD | day of month with leading zero S | second of minute with leading zero M | minute of hour with leading zero H | hour of day with leading zero -----+--------------------------------------------------------------- Table 3a: 'Primary' SI units -----+--------------------------------------------------------------- * m | Meter * s | Second * g | Gramme <!--kg is used to define--> * A | Ampére K | Kelvin mol | Mol cd | Candela -----+--------------------------------------------------------------- Table 3b: 'Secondary' SI units -----+--------------------------------------------------------------- * J | Joule (kg·m²/s²), (N·m) * C | Coulomb (A·s) * N | Newton (kg·m/s²) * O | Ohm (kg·m²/A²·s³), (J/A²·s), (V/A) <!--actually it's Omega--> * V | Volt (kg·m²/A·s³), (J/A·s), (W/A) * l | Liter (dm³) * F | Farad (A²·s²/J), (C/V) * Hz | Hertz (s^-1) * Pa | Pascal (kg/m·s²) * W | Watt (kg·m²/s³), (J/s) -----+--------------------------------------------------------------- Table 3c: 'Tertiary' SI units -----+--------------------------------------------------------------- min | Minute (60s) h | Hour (60min) d | Day (24h) w | Week (7d) y | year (365.2425d) <!--what about fiscal etc.?--> * t | Ton (1000kg) u | Atomar Mass Unit (1.66054·10^-27kg) * eV | Electron Volt (1.60218·10^-19J) °C | Degree Celsius (-273.15 K) -----+--------------------------------------------------------------- Table 3d: Non SI units <!-- shouldn't (all) be allowed IMHO --> -----+--------------------------------------------------------------- in | inch (0.0254m) ft | foot (0.3048m) * B | byte (8bit) rad | Radiant (180°/Π) deg °| Degree ... | ... -----+--------------------------------------------------------------- (* := usually accepts prefixes, not necessarily all) Table 4: Decimal (and binary) modifier prefixes -----+-------+------------------------------------------------------- f | femto | 10^-15 p | piko | 10^-12 n | nano | 10^- 9 µ | mikro | 10^- 6 m | milli | 10^- 3 c | centi | 10^- 2 d | dezi | 10^- 1 D | deka | 10^+ 1 h | hekto | 10^+ 2 k | kilo | 10^+ 3 | 2^10 M | mega | 10^+ 6 | 2^20 G | giga | 10^+ 9 | 2^30 T | tera | 10^+12 | 2^40 E | eta | 10^+15 | 2^50 -----+----------------+---------------------------------------------- </proposal> It might be an option, to forget about the proposed element, adding the attributes to the existing element "var" instead. It would be nice if there was already a RFC or something for the Dimension attribute type. Christoph Päper
Received on Tuesday, 19 November 2002 03:28:03 UTC