[html5] r6845 - [acgiowt] (2) Update the date-and-time microsyntaxes to support having the 'T' r [...]

whatwg at whatwg.org whatwg at whatwg.org
Tue Dec 6 15:00:49 PST 2011


Author: ianh
Date: 2011-12-06 15:00:47 -0800 (Tue, 06 Dec 2011)
New Revision: 6845

Modified:
   complete.html
   index
   source
Log:
[acgiowt] (2) Update the date-and-time microsyntaxes to support having the 'T' replaced by a single space. (Note: multiple spaces are invalid and will cause parse failures. Only a single space is supported.) Based on proposal and implementation evidence from Tantek documented at http://wiki.whatwg.org/wiki/Time_element#permit_space_instead_of_T_in_datetimes
Affected topics: HTML, Microdata

Modified: complete.html
===================================================================
--- complete.html	2011-12-06 00:38:21 UTC (rev 6844)
+++ complete.html	2011-12-06 23:00:47 UTC (rev 6845)
@@ -240,7 +240,7 @@
 
   <header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 5 December 2011</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 6 December 2011</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -5856,12 +5856,22 @@
   representing a date and time if it consists of the following
   components in the given order:</p>
 
-  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date.</li>
+  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T).</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
-   <li>A <a href=#valid-time-string>valid time string</a> representing the time.</li>
+   <li>A <a href=#valid-time-string>valid time string</a> representing the time</li>
 
+  </ol><p>A string is a <dfn id=valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</dfn> representing a date and time if it consists of the
+  following components in the given order:</p>
+
+  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
+
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+
+   <li>A <a href=#valid-time-string>valid time string</a> representing the time, expressed as the shortest possible string for the given time (e.g. omitting the seconds component entirely if the given time is zero seconds past the minute)</li>
+
   </ol><div class=impl>
 
   <p>The rules to <dfn id=parse-a-local-date-and-time-string>parse a local date and time string</dfn> are as
@@ -5877,8 +5887,9 @@
 
    <li><p><a href=#parse-a-date-component>Parse a date component</a> to obtain <var title="">year</var>, <var title="">month</var>, and <var title="">day</var>. If this returns nothing, then fail.</p>
 
-   <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+0054 LATIN CAPITAL LETTER T
-   character (T) 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 neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</li>
 
    <li><p><a href=#parse-a-time-component>Parse a time component</a> to obtain <var title="">hour</var>, <var title="">minute</var>, and <var title="">second</var>. If this returns nothing, then fail.</p>
 
@@ -6061,7 +6072,7 @@
 
   <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
    <li>A <a href=#valid-time-string>valid time string</a> representing the time</li>
 
@@ -6081,7 +6092,7 @@
    <p>The following are some examples of dates written as <a href=#valid-global-date-and-time-string title="valid global date and time string">valid global date and
    time strings</a>.</p>
 
-   <dl><dt>"<code>0037-12-13T00:00Z</code>"</dt>
+   <dl><dt>"<code>0037-12-13 00:00Z</code>"</dt>
 
     <dd>Midnight in areas using London time on the birthday of Nero
     (the Roman Emperor). See below for further discussion on which
@@ -6105,6 +6116,10 @@
    <ul><li>Years with fewer than four digits have to be
     zero-padded. The date "37-12-13" would not be a valid date.</li>
 
+    <li>If the "<code title="">T</code>" is replaced by a space, it
+    must be a single space character. The string "<code title="">2001-12-21  12:00Z</code>" (with two spaces
+    between the components) would not be parsed successfully.</li>
+
     <li>To unambiguously identify a moment in time prior to the
     introduction of the Gregorian calendar (insofar as moments in time
     before the formation of UTC can be unambiguously identified), the
@@ -6131,7 +6146,7 @@
 
    </ul></div>
 
-  <p>A string is a <dfn id=valid-forced-utc-global-date-and-time-string>valid forced-UTC global date and time
+  <p>A string is a <dfn id=valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global date and time
   string</dfn> representing a date, time, and a time-zone offset if it
   consists of the following components in the given order:</p>
 
@@ -6145,15 +6160,6 @@
 
   </ol><div class=impl>
 
-  <p>The <dfn id=best-representation-of-the-global-date-and-time-string>best representation of the global date and time
-  string</dfn> <var title="">datetime</var> is the <a href=#valid-global-date-and-time-string>valid global
-  date and time string</a> representing <var title="">datetime</var>, with the <a href=#valid-time-string>valid time string</a>
-  component being given in its shortest possible form, with the last
-  character of the string not being a U+005A LATIN CAPITAL LETTER Z
-  character (Z), even if the time zone is UTC, and with a U+002B PLUS
-  SIGN character (+) representing the sign of the time-zone offset
-  when the time zone is UTC.</p>
-
   <p>The rules to <dfn id=parse-a-global-date-and-time-string>parse a global date and time string</dfn> are
   as follows. This will return either a time in UTC, with associated
   time-zone offset information for round-tripping or display purposes,
@@ -6168,8 +6174,9 @@
 
    <li><p><a href=#parse-a-date-component>Parse a date component</a> to obtain <var title="">year</var>, <var title="">month</var>, and <var title="">day</var>. If this returns nothing, then fail.</p>
 
-   <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+0054 LATIN CAPITAL LETTER T
-   character (T) 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 neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</li>
 
    <li><p><a href=#parse-a-time-component>Parse a time component</a> to obtain <var title="">hour</var>, <var title="">minute</var>, and <var title="">second</var>. If this returns nothing, then fail.</p>
 
@@ -6691,9 +6698,9 @@
   <p>A string is a <dfn id=valid-date-string-with-optional-time>valid date string with optional time</dfn> if
   it is also one of the following:</p>
 
-  <ul><li>A <a href=#valid-date-string>valid date string</a>.</li>
+  <ul><li>A <a href=#valid-date-string>valid date string</a></li>
 
-   <li>A <a href=#valid-global-date-and-time-string>valid global date and time string</a>.</li>
+   <li>A <a href=#valid-global-date-and-time-string>valid global date and time string</a></li>
 
   </ul><div class=impl>
 
@@ -6718,14 +6725,12 @@
 
    <li>
 
-    <p>If <var title="">date present</var> is true, and <var title="">position</var> is not beyond the end of <var title="">input</var>, and the character at <var title="">position</var> is a U+0054 LATIN CAPITAL LETTER T
-    character (T), then advance <var title="">position</var> to the
-    next character in <var title="">input</var>.</p>
+    <p>If <var title="">date present</var> is true, and <var title="">position</var> is not beyond the end of <var title="">input</var>, and the character at <var title="">position</var> is either a U+0054 LATIN CAPITAL LETTER T
+    character (T) or a U+0020 SPACE character, then advance <var title="">position</var> to the next character in <var title="">input</var>.</p>
 
     <p>Otherwise, if <var title="">date present</var> is true, and
-    either <var title="">position</var> is beyond the end of <var title="">input</var> or the character at <var title="">position</var> is not a U+0054 LATIN CAPITAL LETTER T
-    character (T), then set <var title="">time present</var> to
-    false.</p>
+    either <var title="">position</var> is beyond the end of <var title="">input</var> or the character at <var title="">position</var> is neither a U+0054 LATIN CAPITAL LETTER T
+    character (T) nor a U+0020 SPACE character, then set <var title="">time present</var> to false.</p>
 
     <p>Otherwise, if <var title="">date present</var> is false, set
     <var title="">position</var> back to the same position as <var title="">start position</var>.</p>
@@ -21186,6 +21191,9 @@
     <pre class=example><time>2011-11-12T14:54</time></pre>
     <pre class=example><time>2011-11-12T14:54:39</time></pre>
     <pre class=example><time>2011-11-12T14:54:39.92922</time></pre>
+    <pre class=example><time>2011-11-12 14:54</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922</time></pre>
 
    </dd>
 
@@ -21227,6 +21235,26 @@
     <pre class=example><time>2011-11-12T06:54:39-08:00</time></pre>
     <pre class=example><time>2011-11-12T06:54:39.92922-08:00</time></pre>
 
+    <pre class=example><time>2011-11-12 14:54Z</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39Z</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922Z</time></pre>
+
+    <pre class=example><time>2011-11-12 14:54+0000</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39+0000</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922+0000</time></pre> 
+
+    <pre class=example><time>2011-11-12 14:54+00:00</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39+00:00</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922+00:00</time></pre>
+
+    <pre class=example><time>2011-11-12 06:54-0800</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39-0800</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39.92922-0800</time></pre>
+
+    <pre class=example><time>2011-11-12 06:54-08:00</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39-08:00</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39.92922-08:00</time></pre>
+
    </dd>
 
 
@@ -22659,11 +22687,11 @@
 
    <pre class=bad><aside>
  <!-- don't do this -->
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -22672,13 +22700,13 @@
    but none of the elements cross implied paragraph boundaries.</p>
 
    <pre><aside>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
  </ins>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -22935,11 +22963,11 @@
 
    <pre><table>
  <thead>
-  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">Verdict</del></strong>
+  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">Verdict</del></strong>
  <tbody>
-  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">8/10</del></strong>
-  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
-  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
+  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">8/10</del></strong>
+  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
+  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
 </table></pre>
 
   </div>
@@ -44245,13 +44273,13 @@
   <a href=#parse-a-global-date-and-time-string title="parse a global date and time string">parsing a global
   date and time</a> from it. User agents must not allow the user to
   set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty
-  string that is not a <a href=#valid-forced-utc-global-date-and-time-string>valid forced-UTC global date and time
+  string that is not a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global date and time
   string</a>, though user agents may allow the user to set and view
   the time in another time zone and silently translate the time to and
   from the UTC time zone in the <a href=#concept-fe-value title=concept-fe-value>value</a>. If the user agent provides a
   user interface for selecting a <a href=#concept-datetime title=concept-datetime>global
-  date and time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a <a href=#valid-forced-utc-global-date-and-time-string>valid
-  forced-UTC global date and time string</a> representing the
+  date and time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid
+  normalized forced-UTC global date and time string</a> representing the
   user's selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
 
   </div>
@@ -44273,9 +44301,9 @@
   follows</strong>: If the <a href=#concept-fe-value title=concept-fe-value>value</a>
   of the element is a <a href=#valid-global-date-and-time-string>valid global date and time string</a>,
   then adjust the time so that the <a href=#concept-fe-value title=concept-fe-value>value</a> represents the same point in
-  time but expressed in the UTC time zone as a <a href=#valid-forced-utc-global-date-and-time-string>valid forced-UTC
-  global date and time string</a>, otherwise, set it to the empty
-  string instead.</p>
+  time but expressed in the UTC time zone as a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized
+  forced-UTC global date and time string</a>, otherwise, set it to
+  the empty string instead.</p>
 
   </div>
 
@@ -44309,8 +44337,8 @@
 
   <p><strong>The <a href=#concept-input-value-number-string title=concept-input-value-number-string>algorithm to convert a
   number to a string</a>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <a href=#valid-global-date-and-time-string>valid global date and time
-  string</a> expressed in UTC that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is <var title="">input</var> milliseconds after midnight UTC on the morning
+  is as follows</strong>: Return a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC
+  global date and time string</a> that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is <var title="">input</var> milliseconds after midnight UTC on the morning
   of 1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0Z</code>").</p>
 
   <p><strong>The <a href=#concept-input-value-string-date title=concept-input-value-string-date>algorithm to convert a
@@ -44324,8 +44352,8 @@
   <p><strong>The <a href=#concept-input-value-date-string title=concept-input-value-date-string>algorithm to convert a
   <code>Date</code> object to a string</a>, given a
   <code>Date</code> object <var title="">input</var>, is as
-  follows</strong>: Return a <a href=#valid-global-date-and-time-string>valid global date and time
-  string</a> expressed in UTC that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is
+  follows</strong>: Return a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global
+  date and time string</a> that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is
   represented by <var title="">input</var>.</p>
 
   </div>
@@ -45069,11 +45097,13 @@
   <a href=#parse-a-local-date-and-time-string title="parse a local date and time string">parsing a date and
   time</a> from it. User agents must not allow the user to set the
   <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string
-  that is not a <a href=#valid-local-date-and-time-string>valid local date and time string</a>. If the
-  user agent provides a user interface for selecting a <a href=#concept-datetime-local title=concept-datetime-local>local date and time</a>, then the
-  <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a
-  <a href=#valid-local-date-and-time-string>valid local date and time string</a> representing the
-  user's selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
+  that is not a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a>. If the user agent provides a user interface for
+  selecting a <a href=#concept-datetime-local title=concept-datetime-local>local date and
+  time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a>
+  must be set to a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a> representing the user's selection. User agents should
+  allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
 
   </div>
 
@@ -45091,8 +45121,10 @@
 
   <p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
   follows</strong>: If the <a href=#concept-fe-value title=concept-fe-value>value</a>
-  of the element is not a <a href=#valid-local-date-and-time-string>valid local date and time
-  string</a>, then set it to the empty string instead.</p>
+  of the element is a <a href=#valid-local-date-and-time-string>valid local date and time string</a>,
+  then set it to a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a> representing the same date and time; otherwise, set it
+  to the empty string instead.</p>
 
   </div>
 
@@ -45126,9 +45158,10 @@
 
   <p><strong>The <a href=#concept-input-value-number-string title=concept-input-value-number-string>algorithm to convert a
   number to a string</a>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <a href=#valid-local-date-and-time-string>valid local date and time
-  string</a> that represents the date and time that is <var title="">input</var> milliseconds after midnight on the morning of
-  1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0</code>").</p>
+  is as follows</strong>: Return a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date
+  and time string</a> that represents the date and time that is
+  <var title="">input</var> milliseconds after midnight on the morning
+  of 1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0</code>").</p>
 
   </div>
 
@@ -59174,8 +59207,8 @@
    <meta itemprop="type" content="cell">mobile phone</span>
   </li>
  </ul>
- <ins datetime="2008-07-20T21:00:00+01:00">
-  <meta itemprop="rev" content="2008-07-20T21:00:00+01:00">
+ <ins datetime="2008-07-20 21:00:00+01:00">
+  <meta itemprop="rev" content="2008-07-20 21:00:00+01:00">
   <p itemprop="tel" itemscope><strong>Update!</strong>
   My new <span itemprop="type">home</span> phone number is
   <span itemprop="value">01632 960 123</span>.</p>
@@ -80883,8 +80916,7 @@
     stream. Such algorithms may use information about the resource
     other than the resource's contents, including the address of the
     resource. If autodetection succeeds in determining a character
-    encoding, and that encoding is a supported encoding, then return
-    that encoding, with the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a>
+    encoding, then return that encoding, with the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a>
     <i>tentative</i>, and abort these steps. <a href=#refsUNIVCHARDET>[UNIVCHARDET]</a></p>
 
     <p class=note>The UTF-8 encoding has a highly detectable bit

Modified: index
===================================================================
--- index	2011-12-06 00:38:21 UTC (rev 6844)
+++ index	2011-12-06 23:00:47 UTC (rev 6845)
@@ -240,7 +240,7 @@
 
   <header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 5 December 2011</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 6 December 2011</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -5856,12 +5856,22 @@
   representing a date and time if it consists of the following
   components in the given order:</p>
 
-  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date.</li>
+  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T).</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
-   <li>A <a href=#valid-time-string>valid time string</a> representing the time.</li>
+   <li>A <a href=#valid-time-string>valid time string</a> representing the time</li>
 
+  </ol><p>A string is a <dfn id=valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</dfn> representing a date and time if it consists of the
+  following components in the given order:</p>
+
+  <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
+
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+
+   <li>A <a href=#valid-time-string>valid time string</a> representing the time, expressed as the shortest possible string for the given time (e.g. omitting the seconds component entirely if the given time is zero seconds past the minute)</li>
+
   </ol><div class=impl>
 
   <p>The rules to <dfn id=parse-a-local-date-and-time-string>parse a local date and time string</dfn> are as
@@ -5877,8 +5887,9 @@
 
    <li><p><a href=#parse-a-date-component>Parse a date component</a> to obtain <var title="">year</var>, <var title="">month</var>, and <var title="">day</var>. If this returns nothing, then fail.</p>
 
-   <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+0054 LATIN CAPITAL LETTER T
-   character (T) 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 neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</li>
 
    <li><p><a href=#parse-a-time-component>Parse a time component</a> to obtain <var title="">hour</var>, <var title="">minute</var>, and <var title="">second</var>. If this returns nothing, then fail.</p>
 
@@ -6061,7 +6072,7 @@
 
   <ol><li>A <a href=#valid-date-string>valid date string</a> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
    <li>A <a href=#valid-time-string>valid time string</a> representing the time</li>
 
@@ -6081,7 +6092,7 @@
    <p>The following are some examples of dates written as <a href=#valid-global-date-and-time-string title="valid global date and time string">valid global date and
    time strings</a>.</p>
 
-   <dl><dt>"<code>0037-12-13T00:00Z</code>"</dt>
+   <dl><dt>"<code>0037-12-13 00:00Z</code>"</dt>
 
     <dd>Midnight in areas using London time on the birthday of Nero
     (the Roman Emperor). See below for further discussion on which
@@ -6105,6 +6116,10 @@
    <ul><li>Years with fewer than four digits have to be
     zero-padded. The date "37-12-13" would not be a valid date.</li>
 
+    <li>If the "<code title="">T</code>" is replaced by a space, it
+    must be a single space character. The string "<code title="">2001-12-21  12:00Z</code>" (with two spaces
+    between the components) would not be parsed successfully.</li>
+
     <li>To unambiguously identify a moment in time prior to the
     introduction of the Gregorian calendar (insofar as moments in time
     before the formation of UTC can be unambiguously identified), the
@@ -6131,7 +6146,7 @@
 
    </ul></div>
 
-  <p>A string is a <dfn id=valid-forced-utc-global-date-and-time-string>valid forced-UTC global date and time
+  <p>A string is a <dfn id=valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global date and time
   string</dfn> representing a date, time, and a time-zone offset if it
   consists of the following components in the given order:</p>
 
@@ -6145,15 +6160,6 @@
 
   </ol><div class=impl>
 
-  <p>The <dfn id=best-representation-of-the-global-date-and-time-string>best representation of the global date and time
-  string</dfn> <var title="">datetime</var> is the <a href=#valid-global-date-and-time-string>valid global
-  date and time string</a> representing <var title="">datetime</var>, with the <a href=#valid-time-string>valid time string</a>
-  component being given in its shortest possible form, with the last
-  character of the string not being a U+005A LATIN CAPITAL LETTER Z
-  character (Z), even if the time zone is UTC, and with a U+002B PLUS
-  SIGN character (+) representing the sign of the time-zone offset
-  when the time zone is UTC.</p>
-
   <p>The rules to <dfn id=parse-a-global-date-and-time-string>parse a global date and time string</dfn> are
   as follows. This will return either a time in UTC, with associated
   time-zone offset information for round-tripping or display purposes,
@@ -6168,8 +6174,9 @@
 
    <li><p><a href=#parse-a-date-component>Parse a date component</a> to obtain <var title="">year</var>, <var title="">month</var>, and <var title="">day</var>. If this returns nothing, then fail.</p>
 
-   <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+0054 LATIN CAPITAL LETTER T
-   character (T) 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 neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</li>
 
    <li><p><a href=#parse-a-time-component>Parse a time component</a> to obtain <var title="">hour</var>, <var title="">minute</var>, and <var title="">second</var>. If this returns nothing, then fail.</p>
 
@@ -6691,9 +6698,9 @@
   <p>A string is a <dfn id=valid-date-string-with-optional-time>valid date string with optional time</dfn> if
   it is also one of the following:</p>
 
-  <ul><li>A <a href=#valid-date-string>valid date string</a>.</li>
+  <ul><li>A <a href=#valid-date-string>valid date string</a></li>
 
-   <li>A <a href=#valid-global-date-and-time-string>valid global date and time string</a>.</li>
+   <li>A <a href=#valid-global-date-and-time-string>valid global date and time string</a></li>
 
   </ul><div class=impl>
 
@@ -6718,14 +6725,12 @@
 
    <li>
 
-    <p>If <var title="">date present</var> is true, and <var title="">position</var> is not beyond the end of <var title="">input</var>, and the character at <var title="">position</var> is a U+0054 LATIN CAPITAL LETTER T
-    character (T), then advance <var title="">position</var> to the
-    next character in <var title="">input</var>.</p>
+    <p>If <var title="">date present</var> is true, and <var title="">position</var> is not beyond the end of <var title="">input</var>, and the character at <var title="">position</var> is either a U+0054 LATIN CAPITAL LETTER T
+    character (T) or a U+0020 SPACE character, then advance <var title="">position</var> to the next character in <var title="">input</var>.</p>
 
     <p>Otherwise, if <var title="">date present</var> is true, and
-    either <var title="">position</var> is beyond the end of <var title="">input</var> or the character at <var title="">position</var> is not a U+0054 LATIN CAPITAL LETTER T
-    character (T), then set <var title="">time present</var> to
-    false.</p>
+    either <var title="">position</var> is beyond the end of <var title="">input</var> or the character at <var title="">position</var> is neither a U+0054 LATIN CAPITAL LETTER T
+    character (T) nor a U+0020 SPACE character, then set <var title="">time present</var> to false.</p>
 
     <p>Otherwise, if <var title="">date present</var> is false, set
     <var title="">position</var> back to the same position as <var title="">start position</var>.</p>
@@ -21186,6 +21191,9 @@
     <pre class=example><time>2011-11-12T14:54</time></pre>
     <pre class=example><time>2011-11-12T14:54:39</time></pre>
     <pre class=example><time>2011-11-12T14:54:39.92922</time></pre>
+    <pre class=example><time>2011-11-12 14:54</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922</time></pre>
 
    </dd>
 
@@ -21227,6 +21235,26 @@
     <pre class=example><time>2011-11-12T06:54:39-08:00</time></pre>
     <pre class=example><time>2011-11-12T06:54:39.92922-08:00</time></pre>
 
+    <pre class=example><time>2011-11-12 14:54Z</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39Z</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922Z</time></pre>
+
+    <pre class=example><time>2011-11-12 14:54+0000</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39+0000</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922+0000</time></pre> 
+
+    <pre class=example><time>2011-11-12 14:54+00:00</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39+00:00</time></pre>
+    <pre class=example><time>2011-11-12 14:54:39.92922+00:00</time></pre>
+
+    <pre class=example><time>2011-11-12 06:54-0800</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39-0800</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39.92922-0800</time></pre>
+
+    <pre class=example><time>2011-11-12 06:54-08:00</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39-08:00</time></pre>
+    <pre class=example><time>2011-11-12 06:54:39.92922-08:00</time></pre>
+
    </dd>
 
 
@@ -22659,11 +22687,11 @@
 
    <pre class=bad><aside>
  <!-- don't do this -->
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -22672,13 +22700,13 @@
    but none of the elements cross implied paragraph boundaries.</p>
 
    <pre><aside>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
  </ins>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -22935,11 +22963,11 @@
 
    <pre><table>
  <thead>
-  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">Verdict</del></strong>
+  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">Verdict</del></strong>
  <tbody>
-  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">8/10</del></strong>
-  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
-  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
+  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">8/10</del></strong>
+  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
+  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
 </table></pre>
 
   </div>
@@ -44245,13 +44273,13 @@
   <a href=#parse-a-global-date-and-time-string title="parse a global date and time string">parsing a global
   date and time</a> from it. User agents must not allow the user to
   set the <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty
-  string that is not a <a href=#valid-forced-utc-global-date-and-time-string>valid forced-UTC global date and time
+  string that is not a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global date and time
   string</a>, though user agents may allow the user to set and view
   the time in another time zone and silently translate the time to and
   from the UTC time zone in the <a href=#concept-fe-value title=concept-fe-value>value</a>. If the user agent provides a
   user interface for selecting a <a href=#concept-datetime title=concept-datetime>global
-  date and time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a <a href=#valid-forced-utc-global-date-and-time-string>valid
-  forced-UTC global date and time string</a> representing the
+  date and time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid
+  normalized forced-UTC global date and time string</a> representing the
   user's selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
 
   </div>
@@ -44273,9 +44301,9 @@
   follows</strong>: If the <a href=#concept-fe-value title=concept-fe-value>value</a>
   of the element is a <a href=#valid-global-date-and-time-string>valid global date and time string</a>,
   then adjust the time so that the <a href=#concept-fe-value title=concept-fe-value>value</a> represents the same point in
-  time but expressed in the UTC time zone as a <a href=#valid-forced-utc-global-date-and-time-string>valid forced-UTC
-  global date and time string</a>, otherwise, set it to the empty
-  string instead.</p>
+  time but expressed in the UTC time zone as a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized
+  forced-UTC global date and time string</a>, otherwise, set it to
+  the empty string instead.</p>
 
   </div>
 
@@ -44309,8 +44337,8 @@
 
   <p><strong>The <a href=#concept-input-value-number-string title=concept-input-value-number-string>algorithm to convert a
   number to a string</a>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <a href=#valid-global-date-and-time-string>valid global date and time
-  string</a> expressed in UTC that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is <var title="">input</var> milliseconds after midnight UTC on the morning
+  is as follows</strong>: Return a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC
+  global date and time string</a> that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is <var title="">input</var> milliseconds after midnight UTC on the morning
   of 1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0Z</code>").</p>
 
   <p><strong>The <a href=#concept-input-value-string-date title=concept-input-value-string-date>algorithm to convert a
@@ -44324,8 +44352,8 @@
   <p><strong>The <a href=#concept-input-value-date-string title=concept-input-value-date-string>algorithm to convert a
   <code>Date</code> object to a string</a>, given a
   <code>Date</code> object <var title="">input</var>, is as
-  follows</strong>: Return a <a href=#valid-global-date-and-time-string>valid global date and time
-  string</a> expressed in UTC that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is
+  follows</strong>: Return a <a href=#valid-normalized-forced-utc-global-date-and-time-string>valid normalized forced-UTC global
+  date and time string</a> that represents the <a href=#concept-datetime title=concept-datetime>global date and time</a> that is
   represented by <var title="">input</var>.</p>
 
   </div>
@@ -45069,11 +45097,13 @@
   <a href=#parse-a-local-date-and-time-string title="parse a local date and time string">parsing a date and
   time</a> from it. User agents must not allow the user to set the
   <a href=#concept-fe-value title=concept-fe-value>value</a> to a non-empty string
-  that is not a <a href=#valid-local-date-and-time-string>valid local date and time string</a>. If the
-  user agent provides a user interface for selecting a <a href=#concept-datetime-local title=concept-datetime-local>local date and time</a>, then the
-  <a href=#concept-fe-value title=concept-fe-value>value</a> must be set to a
-  <a href=#valid-local-date-and-time-string>valid local date and time string</a> representing the
-  user's selection. User agents should allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
+  that is not a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a>. If the user agent provides a user interface for
+  selecting a <a href=#concept-datetime-local title=concept-datetime-local>local date and
+  time</a>, then the <a href=#concept-fe-value title=concept-fe-value>value</a>
+  must be set to a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a> representing the user's selection. User agents should
+  allow the user to set the <a href=#concept-fe-value title=concept-fe-value>value</a> to the empty string.</p>
 
   </div>
 
@@ -45091,8 +45121,10 @@
 
   <p><strong>The <a href=#value-sanitization-algorithm>value sanitization algorithm</a> is as
   follows</strong>: If the <a href=#concept-fe-value title=concept-fe-value>value</a>
-  of the element is not a <a href=#valid-local-date-and-time-string>valid local date and time
-  string</a>, then set it to the empty string instead.</p>
+  of the element is a <a href=#valid-local-date-and-time-string>valid local date and time string</a>,
+  then set it to a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date and time
+  string</a> representing the same date and time; otherwise, set it
+  to the empty string instead.</p>
 
   </div>
 
@@ -45126,9 +45158,10 @@
 
   <p><strong>The <a href=#concept-input-value-number-string title=concept-input-value-number-string>algorithm to convert a
   number to a string</a>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <a href=#valid-local-date-and-time-string>valid local date and time
-  string</a> that represents the date and time that is <var title="">input</var> milliseconds after midnight on the morning of
-  1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0</code>").</p>
+  is as follows</strong>: Return a <a href=#valid-normalized-local-date-and-time-string>valid normalized local date
+  and time string</a> that represents the date and time that is
+  <var title="">input</var> milliseconds after midnight on the morning
+  of 1970-01-01 (the time represented by the value "<code title="">1970-01-01T00:00:00.0</code>").</p>
 
   </div>
 
@@ -59174,8 +59207,8 @@
    <meta itemprop="type" content="cell">mobile phone</span>
   </li>
  </ul>
- <ins datetime="2008-07-20T21:00:00+01:00">
-  <meta itemprop="rev" content="2008-07-20T21:00:00+01:00">
+ <ins datetime="2008-07-20 21:00:00+01:00">
+  <meta itemprop="rev" content="2008-07-20 21:00:00+01:00">
   <p itemprop="tel" itemscope><strong>Update!</strong>
   My new <span itemprop="type">home</span> phone number is
   <span itemprop="value">01632 960 123</span>.</p>
@@ -80883,8 +80916,7 @@
     stream. Such algorithms may use information about the resource
     other than the resource's contents, including the address of the
     resource. If autodetection succeeds in determining a character
-    encoding, and that encoding is a supported encoding, then return
-    that encoding, with the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a>
+    encoding, then return that encoding, with the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a>
     <i>tentative</i>, and abort these steps. <a href=#refsUNIVCHARDET>[UNIVCHARDET]</a></p>
 
     <p class=note>The UTF-8 encoding has a highly detectable bit

Modified: source
===================================================================
--- source	2011-12-06 00:38:21 UTC (rev 6844)
+++ source	2011-12-06 23:00:47 UTC (rev 6845)
@@ -5271,14 +5271,28 @@
 
   <ol>
 
-   <li>A <span>valid date string</span> representing the date.</li>
+   <li>A <span>valid date string</span> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T).</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
-   <li>A <span>valid time string</span> representing the time.</li>
+   <li>A <span>valid time string</span> representing the time</li>
 
   </ol>
 
+  <p>A string is a <dfn>valid normalized local date and time
+  string</dfn> representing a date and time if it consists of the
+  following components in the given order:</p>
+
+  <ol>
+
+   <li>A <span>valid date string</span> representing the date</li>
+
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+
+   <li>A <span>valid time string</span> representing the time, expressed as the shortest possible string for the given time (e.g. omitting the seconds component entirely if the given time is zero seconds past the minute)</li>
+
+  </ol>
+
   <div class="impl">
 
   <p>The rules to <dfn>parse a local date and time string</dfn> are as
@@ -5301,9 +5315,9 @@
 
    <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+0054 LATIN CAPITAL LETTER T
-   character (T) then fail. Otherwise, move <var
-   title="">position</var> forwards one character.</p></li>
+   title="">position</var> is neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</p></li>
 
    <li><p><span>Parse a time component</span> to obtain <var
    title="">hour</var>, <var title="">minute</var>, and <var
@@ -5552,7 +5566,7 @@
 
    <li>A <span>valid date string</span> representing the date</li>
 
-   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T) or a U+0020 SPACE character</li>
 
    <li>A <span>valid time string</span> representing the time</li>
 
@@ -5577,7 +5591,7 @@
 
    <dl>
 
-    <dt>"<code>0037-12-13T00:00Z</code>"</dt>
+    <dt>"<code>0037-12-13 00:00Z</code>"</dt>
 
     <dd>Midnight in areas using London time on the birthday of Nero
     (the Roman Emperor). See below for further discussion on which
@@ -5605,6 +5619,11 @@
     <li>Years with fewer than four digits have to be
     zero-padded. The date "37-12-13" would not be a valid date.</li>
 
+    <li>If the "<code title="">T</code>" is replaced by a space, it
+    must be a single space character. The string "<code
+    title="">2001-12-21  12:00Z</code>" (with two spaces
+    between the components) would not be parsed successfully.</li>
+
     <li>To unambiguously identify a moment in time prior to the
     introduction of the Gregorian calendar (insofar as moments in time
     before the formation of UTC can be unambiguously identified), the
@@ -5633,7 +5652,7 @@
 
   </div>
 
-  <p>A string is a <dfn>valid forced-UTC global date and time
+  <p>A string is a <dfn>valid normalized forced-UTC global date and time
   string</dfn> representing a date, time, and a time-zone offset if it
   consists of the following components in the given order:</p>
 
@@ -5651,16 +5670,6 @@
 
   <div class="impl">
 
-  <p>The <dfn>best representation of the global date and time
-  string</dfn> <var title="">datetime</var> is the <span>valid global
-  date and time string</span> representing <var
-  title="">datetime</var>, with the <span>valid time string</span>
-  component being given in its shortest possible form, with the last
-  character of the string not being a U+005A LATIN CAPITAL LETTER Z
-  character (Z), even if the time zone is UTC, and with a U+002B PLUS
-  SIGN character (+) representing the sign of the time-zone offset
-  when the time zone is UTC.</p>
-
   <p>The rules to <dfn>parse a global date and time string</dfn> are
   as follows. This will return either a time in UTC, with associated
   time-zone offset information for round-tripping or display purposes,
@@ -5682,9 +5691,9 @@
 
    <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+0054 LATIN CAPITAL LETTER T
-   character (T) then fail. Otherwise, move <var
-   title="">position</var> forwards one character.</p></li>
+   title="">position</var> is neither a U+0054 LATIN CAPITAL LETTER T
+   character (T) nor a U+0020 SPACE character, then fail. Otherwise,
+   move <var title="">position</var> forwards one character.</p></li>
 
    <li><p><span>Parse a time component</span> to obtain <var
    title="">hour</var>, <var title="">minute</var>, and <var
@@ -6326,9 +6335,9 @@
 
   <ul>
 
-   <li>A <span>valid date string</span>.</li>
+   <li>A <span>valid date string</span></li>
 
-   <li>A <span>valid global date and time string</span>.</li>
+   <li>A <span>valid global date and time string</span></li>
 
   </ul>
 
@@ -6369,16 +6378,17 @@
     <p>If <var title="">date present</var> is true, and <var
     title="">position</var> is not beyond the end of <var
     title="">input</var>, and the character at <var
-    title="">position</var> is a U+0054 LATIN CAPITAL LETTER T
-    character (T), then advance <var title="">position</var> to the
-    next character in <var title="">input</var>.</p>
+    title="">position</var> is either a U+0054 LATIN CAPITAL LETTER T
+    character (T) or a U+0020 SPACE character, then advance <var
+    title="">position</var> to the next character in <var
+    title="">input</var>.</p>
 
     <p>Otherwise, if <var title="">date present</var> is true, and
     either <var title="">position</var> is beyond the end of <var
     title="">input</var> or the character at <var
-    title="">position</var> is not a U+0054 LATIN CAPITAL LETTER T
-    character (T), then set <var title="">time present</var> to
-    false.</p>
+    title="">position</var> is neither a U+0054 LATIN CAPITAL LETTER T
+    character (T) nor a U+0020 SPACE character, then set <var
+    title="">time present</var> to false.</p>
 
     <p>Otherwise, if <var title="">date present</var> is false, set
     <var title="">position</var> back to the same position as <var
@@ -22714,6 +22724,9 @@
     <pre class="example"><time>2011-11-12T14:54</time></pre>
     <pre class="example"><time>2011-11-12T14:54:39</time></pre>
     <pre class="example"><time>2011-11-12T14:54:39.92922</time></pre>
+    <pre class="example"><time>2011-11-12 14:54</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39.92922</time></pre>
 
    </dd>
 
@@ -22755,6 +22768,26 @@
     <pre class="example"><time>2011-11-12T06:54:39-08:00</time></pre>
     <pre class="example"><time>2011-11-12T06:54:39.92922-08:00</time></pre>
 
+    <pre class="example"><time>2011-11-12 14:54Z</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39Z</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39.92922Z</time></pre>
+
+    <pre class="example"><time>2011-11-12 14:54+0000</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39+0000</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39.92922+0000</time></pre> 
+
+    <pre class="example"><time>2011-11-12 14:54+00:00</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39+00:00</time></pre>
+    <pre class="example"><time>2011-11-12 14:54:39.92922+00:00</time></pre>
+
+    <pre class="example"><time>2011-11-12 06:54-0800</time></pre>
+    <pre class="example"><time>2011-11-12 06:54:39-0800</time></pre>
+    <pre class="example"><time>2011-11-12 06:54:39.92922-0800</time></pre>
+
+    <pre class="example"><time>2011-11-12 06:54-08:00</time></pre>
+    <pre class="example"><time>2011-11-12 06:54:39-08:00</time></pre>
+    <pre class="example"><time>2011-11-12 06:54:39.92922-08:00</time></pre>
+
    </dd>
 
 
@@ -24301,11 +24334,11 @@
 
    <pre class="bad"><aside>
  <!-- don't do this -->
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -24314,13 +24347,13 @@
    but none of the elements cross implied paragraph boundaries.</p>
 
    <pre><aside>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   <p> I like fruit. </p>
  </ins>
- <ins datetime="2005-03-16T00:00Z">
+ <ins datetime="2005-03-16 00:00Z">
   Apples are <em>tasty</em>.
  </ins>
- <ins datetime="2007-12-19T00:00Z">
+ <ins datetime="2007-12-19 00:00Z">
   So are pears.
  </ins>
 </aside></pre>
@@ -24589,11 +24622,11 @@
 
    <pre><table>
  <thead>
-  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">Verdict</del></strong>
+  <tr> <th> Game name           <th> Game publisher   <th> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">Verdict</del></strong>
  <tbody>
-  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">8/10</del></strong>
-  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
-  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02T14:23Z">10/10</del></strong>
+  <tr> <td> Diablo 2            <td> Blizzard         <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">8/10</del></strong>
+  <tr> <td> Portal              <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
+  <tr> <td> Portal 2            <td> Valve            <td> <strong><del cite="/edits/r192" datetime="2011-05-02 14:23Z">10/10</del></strong>
 </table></pre>
 
   </div>
@@ -51612,7 +51645,7 @@
   <span title="parse a global date and time string">parsing a global
   date and time</span> from it. User agents must not allow the user to
   set the <span title="concept-fe-value">value</span> to a non-empty
-  string that is not a <span>valid forced-UTC global date and time
+  string that is not a <span>valid normalized forced-UTC global date and time
   string</span>, though user agents may allow the user to set and view
   the time in another time zone and silently translate the time to and
   from the UTC time zone in the <span
@@ -51620,7 +51653,7 @@
   user interface for selecting a <span title="concept-datetime">global
   date and time</span>, then the <span
   title="concept-fe-value">value</span> must be set to a <span>valid
-  forced-UTC global date and time string</span> representing the
+  normalized forced-UTC global date and time string</span> representing the
   user's selection. User agents should allow the user to set the <span
   title="concept-fe-value">value</span> to the empty string.</p>
 
@@ -51644,9 +51677,9 @@
   of the element is a <span>valid global date and time string</span>,
   then adjust the time so that the <span
   title="concept-fe-value">value</span> represents the same point in
-  time but expressed in the UTC time zone as a <span>valid forced-UTC
-  global date and time string</span>, otherwise, set it to the empty
-  string instead.</p>
+  time but expressed in the UTC time zone as a <span>valid normalized
+  forced-UTC global date and time string</span>, otherwise, set it to
+  the empty string instead.</p>
 
   </div>
 
@@ -51688,8 +51721,8 @@
   <p><strong>The <span
   title="concept-input-value-number-string">algorithm to convert a
   number to a string</span>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <span>valid global date and time
-  string</span> expressed in UTC that represents the <span
+  is as follows</strong>: Return a <span>valid normalized forced-UTC
+  global date and time string</span> that represents the <span
   title="concept-datetime">global date and time</span> that is <var
   title="">input</var> milliseconds after midnight UTC on the morning
   of 1970-01-01 (the time represented by the value "<code
@@ -51709,8 +51742,8 @@
   title="concept-input-value-date-string">algorithm to convert a
   <code>Date</code> object to a string</span>, given a
   <code>Date</code> object <var title="">input</var>, is as
-  follows</strong>: Return a <span>valid global date and time
-  string</span> expressed in UTC that represents the <span
+  follows</strong>: Return a <span>valid normalized forced-UTC global
+  date and time string</span> that represents the <span
   title="concept-datetime">global date and time</span> that is
   represented by <var title="">input</var>.</p>
 
@@ -52553,12 +52586,13 @@
   <span title="parse a local date and time string">parsing a date and
   time</span> from it. User agents must not allow the user to set the
   <span title="concept-fe-value">value</span> to a non-empty string
-  that is not a <span>valid local date and time string</span>. If the
-  user agent provides a user interface for selecting a <span
-  title="concept-datetime-local">local date and time</span>, then the
-  <span title="concept-fe-value">value</span> must be set to a
-  <span>valid local date and time string</span> representing the
-  user's selection. User agents should allow the user to set the <span
+  that is not a <span>valid normalized local date and time
+  string</span>. If the user agent provides a user interface for
+  selecting a <span title="concept-datetime-local">local date and
+  time</span>, then the <span title="concept-fe-value">value</span>
+  must be set to a <span>valid normalized local date and time
+  string</span> representing the user's selection. User agents should
+  allow the user to set the <span
   title="concept-fe-value">value</span> to the empty string.</p>
 
   </div>
@@ -52577,8 +52611,10 @@
 
   <p><strong>The <span>value sanitization algorithm</span> is as
   follows</strong>: If the <span title="concept-fe-value">value</span>
-  of the element is not a <span>valid local date and time
-  string</span>, then set it to the empty string instead.</p>
+  of the element is a <span>valid local date and time string</span>,
+  then set it to a <span>valid normalized local date and time
+  string</span> representing the same date and time; otherwise, set it
+  to the empty string instead.</p>
 
   </div>
 
@@ -52620,10 +52656,10 @@
   <p><strong>The <span
   title="concept-input-value-number-string">algorithm to convert a
   number to a string</span>, given a number <var title="">input</var>,
-  is as follows</strong>: Return a <span>valid local date and time
-  string</span> that represents the date and time that is <var
-  title="">input</var> milliseconds after midnight on the morning of
-  1970-01-01 (the time represented by the value "<code
+  is as follows</strong>: Return a <span>valid normalized local date
+  and time string</span> that represents the date and time that is
+  <var title="">input</var> milliseconds after midnight on the morning
+  of 1970-01-01 (the time represented by the value "<code
   title="">1970-01-01T00:00:00.0</code>").</p>
 
   </div>
@@ -69270,8 +69306,8 @@
    <meta itemprop="type" content="cell">mobile phone</span>
   </li>
  </ul>
- <ins datetime="2008-07-20T21:00:00+01:00">
-  <meta itemprop="rev" content="2008-07-20T21:00:00+01:00">
+ <ins datetime="2008-07-20 21:00:00+01:00">
+  <meta itemprop="rev" content="2008-07-20 21:00:00+01:00">
   <p itemprop="tel" itemscope><strong>Update!</strong>
   My new <span itemprop="type">home</span> phone number is
   <span itemprop="value">01632 960 123</span>.</p>




More information about the Commit-Watchers mailing list