Name

xsd:float — IEEE 32-bit floating-point

Synopsis

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

Derived from

xsd:anySimpleType

Primary

xsd:float

Known subtypes

None

Data parameters (facets)

enumeration, maxExclusive, maxInclusive, minExclusive, minInclusive, pattern

Description

The value space of xsd:float is “float,” 32-bit floating-point numbers as defined by the IEEE. 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 maps to 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 added.

Example

Valid values include: 123.456, +1234.456, -1.2344e56, -.45E-6, INF, -INF, and 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.