xs:date | Gregorian calendar date.
|
<xs:simpleType name="date" id="date">
<xs:restriction base="xs:anySimpleType">
<xs:whiteSpace value="collapse" fixed="true"/>
</xs:restriction>
</xs:simpleType>
| |
Derived from:
xs:anySimpleType
Primary:
xs:date
Known subtypes:
none
Facets:
xs:enumeration, xs:maxExclusive, xs:maxInclusive, xs:minExclusive,
xs:minInclusive, xs:pattern, xs:whiteSpace
Description
This datatype is modeled after the calendar dates defined in Chapter
5.2.1 of ISO 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 timezone. Timezones that are not specified are considered
"undetermined."
Restrictions
The basic format of ISO 8601 calendar dates
"CCYYMMDD" is not supported.
The other forms of dates available in ISO 8601--ordinal dates
defined by the year and the number of the day in the year and dates
identified by calendar week and day numbers--are not supported.
As the value space is defined by reference to ISO 8601, there is no
support for any calendar system other than Gregorian.
As the lexical space is also defined as 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 timezone is
partial: they can be compared only outside of a +/- 14 hours
interval.
There is a dissension between ISO 8601 which defines a day as a
period of time of 24 hours, and 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 right (some days do not last exactly 24 hours
because of leap seconds), this definition is not coherent with the
definition of xs:duration for which a day is
always exactly 24 hours long.
Example
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).