double data type
The xs:double data type is patterned after the IEEE double-precision 64-bit floating point type. Derived from data type xdt:anyAtomicType.
The lexical form of xs:double is a mantissa followed, optionally,
by the character E or e, followed
by an exponent. The exponent must be an integer. The mantissa must
be a decimal number. The representations for the exponent and the
mantissa must follow the lexical rules for xs:integer and xs:decimal.
If the E or e and the exponent that
follows are omitted, an exponent value of 0 is assumed.
Lexical
forms for zero can take a positive or negative sign. The following
literals are valid examples of this data type: -1E4, 1267.43233E12,
12.78e-2, 12 , -0, and 0.
The special values positive infinity, negative infinity, and not-a-number have the lexical forms INF, -INF and NaN, respectively. The lexical form for positive infinity cannot take a positive sign.
xs:double("INF").