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: