by Eric van der Vlist is published by O'Reilly & Associates (ISBN: 0596004214)
xsd:date — Gregorian calendar date
<xsd:simpleType name="date" id="date"> <xsd:restriction base="xsd:anySimpleType"> <xsd:whiteSpace value="collapse" fixed="true"/> </xsd:restriction> </xsd:simpleType> |
enumeration, maxExclusive, maxInclusive, minExclusive, minInclusive, pattern
This datatype is modeled after the calendar dates defined in Chapter 5.2.1 of ISO (International Organization for Standardization) 8601. Its value space is the set of Gregorian calendar dates as defined by this standard; i.e., a one-day-long period of time. Its lexical space is the ISO 8601 extended format:
[-]CCYY-MM-DD[Z|(+|-)hh:mm] |
with an optional time zone. Time zones that aren't specified are considered undetermined.
The basic format of ISO 8601 calendar dates, CCYYMMDD, isn't supported.
The other forms of dates available in ISO 8601 aren't supported: ordinal dates defined by the year, the number of the day in the year, dates identified by calendar week, and day numbers.
As the value space is defined by reference to ISO 8601, there is no support for any calendar system other than Gregorian. Because the lexical space is also defined using a reference to ISO 8601, there is no support for any localization such as different orders for date parts or named months.
The order relation between dates with and without time zone is partial: they can be compared beyond a +/- 14 hour interval.
There is a difference between ISO 8601, which defines a day as a 24-hour period of time, and the W3C XML Schema, which indicates that a date is a "one-day-long, non-periodic instance ... independent of how many hours this day has." Even though technically correct, some days don't last exactly 24 hours because of leap seconds; this definition doesn't concur with the definition of xsd:duration that states that a day is always exactly 24 hours long.
Valid values include: 2001-10-26, 2001-10-26+02:00, 2001-10-26Z, 2001-10-26+00:00, -2001-10-26, or -20000-04-01.
The following values would be invalid: 2001-10 (all the parts must be specified), 2001-10-32 (the days part—32—is out of range), 2001-13-26+02:00 (the month part—13—is out of range), or 01-10-26 (the century part is missing).
This text is released under the Free Software Foundation GFDL.