Review. Section 11.1.1 Error in promotion/type pecification?

Review of http://www.w3.org/2001/sw/DataAccess/rq23/ v1.379

This is a critical issue. I raised it on IRC when reviewing section 11 as
per last weeks action, but neglected to mail the list and so forgot.
Apologies.

Promotion order is given as:

    * xs:double
    * xs:float
    * xs:decimal

with types being promoted to the one obove in the list. However xs:float
does not subsume xs:decimal - according to
http://www.w3.org/TR/xmlschema-2/#decimal The value space of decimal is
the set of numbers that can be obtained by multiplying an integer by a
non-positive power of ten and all minimally conforming processors must
support decimal numbers with a minimum of 18 decimal digits. This exceeds
the precision* of xs:float and xs:double in some cases, so the type
"promotion" may well be lossy.

*	Type     Epsilon
	integer	 1.0
	float    1.0e-5
	double   1.0e-9
	decimal  1.0e-17

My recollection is that we agreed to start with double, dateTime and
integer (c.f. http://www.w3.org/2001/sw/DataAccess/ftf4.html RESOLVED: to
address valueTesting by choosing datetime, date, time; date less-than,
date-greater-than, date-equal; string ops per 1.171; numeric double,
integer, 9 numeric ops above, per xquery f&o with EricP, KendallC, SteveH
abstaining), since then we have aquired xs:decimal, which complicates
matters greatly.

Suggested replacement text:

    * xs:double
    * xs:float
    * xs:integer

And replace all occurances of xs:decimal in the text with xs:integer. Drop
note in A / B entry of Table 11.1.

N.B. xs:float does not subsume xs:integer either, but the overlap is much
bigger, and this kind of conversion is common in programming laguages so
will hopefully be less supprising.

- Steve

Received on Thursday, 9 June 2005 14:31:52 UTC