Name
xsd:double — IEEE 64-bit floating-point
Synopsis
<xsd:simpleType name="double” id="double"> <xsd:restriction base="xsd:anySimpleType"> <xsd:whiteSpace value="collapse” fixed="true"/> </xsd:restriction> </xsd:simpleType>
Derived from
xsd:anySimpleType
Primary
xsd:double
Known subtypes
None
Data parameters (facets)
enumeration
, maxExclusive
,
maxInclusive
, minExclusive
,
minInclusive
, pattern
Description
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.
Restrictions
The decimal separator is always a point (.), and no thousands separator may be used.
Example
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).
Get RELAX NG now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.