RELAX NG by Eric van der Vlist will be published by O'Reilly & Associates (ISBN: 0596004214)

You are welcome to use our annotation system to give your feedback.


Name

xsd:duration — Time durations.

Derived from:

xsd:anySimpleType

Primary:

xsd:duration

Known subtypes:

none

Data parameters (facets):

enumeration, maxExclusive, maxInclusive, minExclusive, minInclusive, pattern.

Synopsis

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

Description

Duration may be expressed using all the parts of a datetime (from year to fractions of second) and are, therefore, defined as a "six-dimensional space". Because the relation between some of date parts is not 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 "PnYnMnDTnHnMnS,". The capital letters are delimiters and can be omitted when the corresponding member is not used.

Although some durations are undetermined, this is fixed as soon as a starting point is determined for the duration. W3C XML Schema relies on this feature to define the algorithm to use to compare two durations. Four datetimes have been chosen, which produce the greatest deviations when durations are added. A duration will be 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 datetimes. These datetimes are: "1696-09-01T00:00:00Z", "1697-02-01T00:00:00Z," "1903-03-01T00:00:00Z," and "1903-07-01T00:00:00Z."

Restrictions

The lexical space cannot be customized.

Example

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

The following values would be 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).


You are welcome to use our annotation system to give your feedback.
[Annotations for this page]
All text is copyright Eric van der Vlist, Dyomedea. During development, I give permission for non-commercial copying for educational and review purposes. After publication, all text will be released under the Free Software Foundation GFDL.