- From: Eric van der Vlist <vdv@dyomedea.com>
- Date: Sun, 28 Oct 2001 17:33:36 +0100
- To: xmlschema-dev@w3.org
Knowing that:
"3.2.13 gDay
[Definition:] gDay is a gregorian day that recurs, specifically a day
of the month such as the 5th of the month. Arbitrary recurring days are
not supported by this datatype. The ·value space· of gDay is the space
of a set of calendar dates as defined in § 3 of [ISO 8601].
Specifically, it is a set of one-day long, monthly periodic instances."
I assume that the algorithm defined in "E Adding durations to dateTimes"
is used to iterate over the different dates, including the rule about
"pinning":
"Essentially, this calculation is equivalent to separating D into
<year,month> and <day,hour,minute,second> fields. The <year,month> is
added to S. If the day is out of range, it is pinned to be within range.
Thus April 31 turns into April 30. Then the <day,hour,minute,second> is
added. This latter addition can cause the year and month to change."
In other words, "--31" would iterate over Jan 31st, Feb 28th (or 29th
depending on the year), Mar 31th, Apr 30th, ...
While this seems logical, I think that this should be better described
in the recommendation. The side effect is that if you look at the number
of days between two iterations for "--28", --29, 30 and "--31" you have
(for a non leap year):
Jan Feb Mar Apr May Jun
--28 31 28 31 30 31
--29 30 29 31 30 31
--30 29 30 31 30 31
--31 28 31 30 31 30
IMO, this is not fully conform with the sentence "Specifically, it is a
set of one-day long, monthly periodic instances" since adding a month to
CCYY-02-28 should give CCYY-03-28 and that with my interpretation, the
result is kind of context dependent.
The same effect happens for "-02-29"...
Thanks
Eric
--
Rendez-vous ą Paris pour le Forum XML.
http://www.technoforum.fr/Pages/forumXML01/index.html
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
http://xsltunit.org http://4xt.org http://examplotron.org
------------------------------------------------------------------------
Received on Sunday, 28 October 2001 12:48:01 UTC