by Eric van der Vlist is published by O'Reilly & Associates (ISBN: 0596004214)


xsd:double — IEEE 64-bit floating-point


<xsd:simpleType name="double" id="double">
 <xsd:restriction base="xsd:anySimpleType">
 <xsd:whiteSpace value="collapse" fixed="true"/>

Derived from




Known subtypes


Data parameters (facets)

enumeration, maxExclusive, maxInclusive, minExclusive, minInclusive, pattern


The value space of xsd:double is double (64 bits) floating-point numbers as defined by the IEEE (Institute of Electrical and Electronic Engineers). The lexical space uses a decimal format with optional scientific notation. The match between lexical (powers of 10) and value (powers of 2) spaces is approximate and done on the closest value.

This datatype differentiates positive (0) and negative (-0) zeros, and includes the special values -INF (negative infinity), INF (positive infinity) and NaN (Not a Number).

Note that the lexical spaces of xsd:float and xsd:double are exactly the same; the only difference is the precision used to convert the values in the value space.


The decimal separator is always a point (.), and no thousands separator may be used.


Valid values include: 123.456, +1234.456, -1.2344e56, -.45E-6, INF, -INF, or NaN.

The following values are invalid: 1234.4E 56 (spaces are forbidden), 1E+2.5 (the power of 10 must be an integer), +INF (positive infinity doesn't expect a sign), or NAN (capitalization matters in special values).

This text is released under the Free Software Foundation GFDL.