[html5] r2384 - [] (0) Define 'week' syntax. Details coming later.

whatwg at whatwg.org whatwg at whatwg.org
Wed Oct 29 18:56:35 PDT 2008


Author: ianh
Date: 2008-10-29 18:56:34 -0700 (Wed, 29 Oct 2008)
New Revision: 2384

Modified:
   index
   source
Log:
[] (0) Define 'week' syntax. Details coming later.

Modified: index
===================================================================
--- index	2008-10-30 01:39:25 UTC (rev 2383)
+++ index	2008-10-30 01:56:34 UTC (rev 2384)
@@ -2748,7 +2748,7 @@
    interpret the resulting sequence as a base-ten integer. Let that
    number be the <var title="">month</var>.</li>
 
-   <li>If <var title="">month</var> is not a number in the range
+   <li><p>If <var title="">month</var> is not a number in the range
    1 ≤ <var title="">month</var> ≤ 12, then
    fail.</li>
 
@@ -2945,7 +2945,7 @@
    (possibly with a fractional part). Let <var title="">second</var>
    be that number instead of the string version.</li>
 
-   <li>If <var title="">second</var> is not a number in the range
+   <li><p>If <var title="">second</var> is not a number in the range
    0 ≤ <var title="">second</var> < 60, then
    fail.</li>
 
@@ -3196,14 +3196,69 @@
 
   <!-- XXX ISO week information -->
 
-  <p class=XXX>... <dfn id=valid-week-string>valid week string</dfn></p>
+  <p class=XXX>The <dfn id=week-number>week number</dfn> of a day is ...</p>
 
-  <p class=XXX>... rules to <dfn id=parse-a-week-string>parse a week string</dfn></p>
+  <p class=XXX>The <dfn id=week-number-of-the-last-day>week number of the last day</dfn> of a year ...</p>
 
+  <p>A string is a <dfn id=valid-week-string>valid week string</dfn> representing a year
+  <var title="">year</var> and week <var title="">week</var> if it
+  consists of the following components in the given order:</p>
 
+  <ol><li>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing <var title="">year</var></li>
 
-  <h5 id=vaguer-moments-in-time><span class=secno>2.4.4.7 </span>Vaguer moments in time</h5>
+   <li>A U+002D HYPHEN-MINUS character (-)</li>
 
+   <li>A U+0057 LATIN CAPITAL LETTER W character</li>
+
+   <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
+   representing the week <var title="">week</var>, in the range
+   1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var title="">maxweek</var> is the
+   <a href=#week-number-of-the-last-day>week number of the last day</a> of year <var title="">year</var></li>
+
+  </ol><p>The rules to <dfn id=parse-a-week-string>parse a week string</dfn> are as follows. This
+  will either return a year and week, or nothing. If at any point the
+  algorithm says that it "fails", this means that it is aborted at
+  that point and returns nothing.</p>
+
+  <ol><li><p>Let <var title="">input</var> be the string being
+   parsed.</li>
+
+   <li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
+   string.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
+   sequence is not at least four characters long, then
+   fail. Otherwise, interpret the resulting sequence as a base-ten
+   integer. Let that number be the <var title="">year</var>.</li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+002D HYPHEN-MINUS character,
+   then fail. Otherwise, move <var title="">position</var> forwards
+   one character.</li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a 0057 LATIN CAPITAL LETTER W
+   character, then fail. Otherwise, move <var title="">position</var>
+   forwards one character.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
+   sequence is not exactly two characters long, then fail. Otherwise,
+   interpret the resulting sequence as a base-ten integer. Let that
+   number be the <var title="">week</var>.</li>
+
+   <li><p>Let <var title="">maxweek</var> be the <a href=#week-number-of-the-last-day>week number of
+   the last day</a> of year <var title="">year</var>.</li>
+
+   <li><p>If <var title="">week</var> is not a number in the range
+   1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, then fail.</li>
+
+   <li><p>If <var title="">position</var> is <em>not</em> beyond the
+   end of <var title="">input</var>, then fail.</li>
+
+   <li><p>Return <var title="">year</var> and <var title="">week</var>.</li>
+
+  </ol><h5 id=vaguer-moments-in-time><span class=secno>2.4.4.7 </span>Vaguer moments in time</h5>
+
   <p>This section defines <dfn id=date-or-time-string title="date or time string">date or
   time strings</dfn>. There are two kinds, <dfn id=date-or-time-string-in-content title="date or time
   string in content">date or time strings in content</dfn>, and <dfn id=date-or-time-string-in-attributes title="date or time string in attributes">date or time strings in

Modified: source
===================================================================
--- source	2008-10-30 01:39:25 UTC (rev 2383)
+++ source	2008-10-30 01:56:34 UTC (rev 2384)
@@ -2036,9 +2036,9 @@
    interpret the resulting sequence as a base-ten integer. Let that
    number be the <var title="">month</var>.</p></li>
 
-   <li>If <var title="">month</var> is not a number in the range
+   <li><p>If <var title="">month</var> is not a number in the range
    1 ≤ <var title="">month</var> ≤ 12, then
-   fail.</li>
+   fail.</p></li>
 
    <li><p>Return <var title="">year</var> and <var
    title="">month</var>.</p></li>
@@ -2301,9 +2301,9 @@
    (possibly with a fractional part). Let <var title="">second</var>
    be that number instead of the string version.</p></li>
 
-   <li>If <var title="">second</var> is not a number in the range
+   <li><p>If <var title="">second</var> is not a number in the range
    0 ≤ <var title="">second</var> < 60, then
-   fail.</li>
+   fail.</p></li>
 
    <li><p>Return <var title="">hour</var>, <var title="">minute</var>,
    and <var title="">second</var>.</p></li>
@@ -2640,12 +2640,87 @@
 
   <!-- XXX ISO week information -->
 
-  <p class="XXX">... <dfn>valid week string</dfn></p>
+  <p class="XXX">The <dfn>week number</dfn> of a day is ...</p>
 
-  <p class="XXX">... rules to <dfn>parse a week string</dfn></p>
+  <p class="XXX">The <dfn>week number of the last day</dfn> of a year ...</p>
 
+  <p>A string is a <dfn>valid week string</dfn> representing a year
+  <var title="">year</var> and week <var title="">week</var> if it
+  consists of the following components in the given order:</p>
 
+  <ol>
 
+   <li>Four or more <span
+   title="concept-datetime-digit">digits</span>, representing <var
+   title="">year</var></li>
+
+   <li>A U+002D HYPHEN-MINUS character (-)</li>
+
+   <li>A U+0057 LATIN CAPITAL LETTER W character</li>
+
+   <li>Two <span title="concept-datetime-digit">digits</span>,
+   representing the week <var title="">week</var>, in the range
+   1 ≤ <var title="">week</var> ≤ <var
+   title="">maxweek</var>, where <var title="">maxweek</var> is the
+   <span>week number of the last day</span> of year <var
+   title="">year</var></li>
+
+  </ol>
+
+  <p>The rules to <dfn>parse a week string</dfn> are as follows. This
+  will either return a year and week, or nothing. If at any point the
+  algorithm says that it "fails", this means that it is aborted at
+  that point and returns nothing.</p>
+
+  <ol>
+
+   <li><p>Let <var title="">input</var> be the string being
+   parsed.</p></li>
+
+   <li><p>Let <var title="">position</var> be a pointer into <var
+   title="">input</var>, initially pointing at the start of the
+   string.</p></li>
+
+   <li><p><span>Collect a sequence of characters</span> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
+   sequence is not at least four characters long, then
+   fail. Otherwise, interpret the resulting sequence as a base-ten
+   integer. Let that number be the <var title="">year</var>.</p></li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var
+   title="">input</var> or if the character at <var
+   title="">position</var> is not a U+002D HYPHEN-MINUS character,
+   then fail. Otherwise, move <var title="">position</var> forwards
+   one character.</p></li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var
+   title="">input</var> or if the character at <var
+   title="">position</var> is not a 0057 LATIN CAPITAL LETTER W
+   character, then fail. Otherwise, move <var title="">position</var>
+   forwards one character.</p></li>
+
+   <li><p><span>Collect a sequence of characters</span> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
+   sequence is not exactly two characters long, then fail. Otherwise,
+   interpret the resulting sequence as a base-ten integer. Let that
+   number be the <var title="">week</var>.</p></li>
+
+   <li><p>Let <var title="">maxweek</var> be the <span>week number of
+   the last day</span> of year <var title="">year</var>.</p></li>
+
+   <li><p>If <var title="">week</var> is not a number in the range
+   1 ≤ <var title="">week</var> ≤ <var
+   title="">maxweek</var>, then fail.</p></li>
+
+   <li><p>If <var title="">position</var> is <em>not</em> beyond the
+   end of <var title="">input</var>, then fail.</p></li>
+
+   <li><p>Return <var title="">year</var> and <var
+   title="">week</var>.</p></li>
+
+  </ol>
+
+
   <h5>Vaguer moments in time</h5>
 
   <p>This section defines <dfn title="date or time string">date or




More information about the Commit-Watchers mailing list