Export (0) Print
Expand All

2.1.4 [W3C-XSD] Section 3.2.5, double

V0003:

The specification states:

[Definition:]  The double datatype is patterned after the IEEE double-precision 
64-bit floating point type [IEEE 754-1985]. The basic ·value space· of double 
consists of the values m × 2^e, where m is an integer whose absolute value is 
less than 2^53, and e is an integer between -1075 and 970, inclusive. In addition 
to the basic ·value space· described above, the ·value space· of double also 
contains the following three special values: positive and negative infinity and 
not-a-number (NaN). The ·order-relation· on double is: x < y iff y - x is 
positive for x and y in the value space. Positive infinity is greater than all 
other non-NaN values. NaN equals itself but is ·incomparable· with (neither 
greater than nor less than) any other value in the ·value space·.

MSXML6

No error is reported if the NaN value is compared with positive infinity or negative infinity.

V0004:

The specification states:

Any value ·incomparable· with the value used for the four bounding facets 
(·minInclusive·, ·maxInclusive·, ·minExclusive·, and ·maxExclusive·) will be 
excluded from the resulting restricted ·value space·. In particular, when "NaN" 
is used as a facet value for a bounding facet, since no other double values are 
·comparable· with it, the result is a ·value space· either having NaN as its only 
member (the inclusive cases) or that is empty (the exclusive cases). If any other 
value is used for a bounding facet, NaN will be excluded from the resulting 
restricted ·value space·; to add NaN back in requires union with the NaN-only 
space.

MSXML6

If NaN is used as a facet value for a bounding facet, when NaN is compared to other non-NaN doubles, NaN is less than any non-NaN number.

Show:
© 2014 Microsoft