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


xsd:duration — Time durations


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

Derived from




Known subtypes


Data parameters (facets)

enumeration, maxExclusive, maxInclusive, minExclusive, minInclusive, pattern


Duration may be expressed using all the parts of a date-time (from year to fractions of second) and are, therefore, defined as a six-dimensional space. Because the relation between some of date parts isn't fixed (such as the number of days in a month), the order relationship between durations is only partial, and the result of a comparison between two durations may be undetermined.

The lexical space of xsd:duration is the format defined by ISO 8601 under the form:


The capital letters are delimiters and can be omitted when the corresponding member isn't used.

Some durations are undetermined, until a starting point is determined for the duration. The W3C XML Schema relies on this feature to define the algorithm to compare two durations. Four date-times have been chosen that produce the greatest deviations when durations are added. A duration is considered bigger than another when the result of its addition to these four dates is consistently bigger than the result of the addition of the other duration to these same four date-times. These date-times are: 1696-09-01T00:00:00Z, 1697-02-01T00:00:00Z, 1903-03-01T00:00:00Z, and 1903-07-01T00:00:00Z.


The lexical space can't be customized.


Valid values include PT1004199059S, PT130S, PT2M10S, P1DT2S, -P1Y, or P1Y2M3DT5H20M30.123S.

The following values are invalid: 1Y (leading P is missing), P1S (T separator is missing), P-1Y (all parts must be positive), P1M2Y (parts order is significant and Y must precede M), or P1Y-1M (all parts must be positive).

This text is released under the Free Software Foundation GFDL.