hixie: Report parse error for missing spaces in DOCTYPEs. (whatwg r4051)

hixie: Report parse error for missing spaces in DOCTYPEs. (whatwg r4051)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.3212&r2=1.3213&f=h
http://html5.org/tools/web-apps-tracker?from=4050&to=4051

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.3212
retrieving revision 1.3213
diff -u -d -r1.3212 -r1.3213
--- Overview.html 29 Sep 2009 10:27:27 -0000 1.3212
+++ Overview.html 29 Sep 2009 10:50:51 -0000 1.3213
@@ -1069,17 +1069,20 @@
        <li><a href="#before-doctype-name-state"><span class="secno">9.2.4.26 </span>Before DOCTYPE name state</a></li>
        <li><a href="#doctype-name-state"><span class="secno">9.2.4.27 </span>DOCTYPE name state</a></li>
        <li><a href="#after-doctype-name-state"><span class="secno">9.2.4.28 </span>After DOCTYPE name state</a></li>
-       <li><a href="#before-doctype-public-identifier-state"><span class="secno">9.2.4.29 </span>Before DOCTYPE public identifier state</a></li>
-       <li><a href="#doctype-public-identifier-double-quoted-state"><span class="secno">9.2.4.30 </span>DOCTYPE public identifier (double-quoted) state</a></li>
-       <li><a href="#doctype-public-identifier-single-quoted-state"><span class="secno">9.2.4.31 </span>DOCTYPE public identifier (single-quoted) state</a></li>
-       <li><a href="#after-doctype-public-identifier-state"><span class="secno">9.2.4.32 </span>After DOCTYPE public identifier state</a></li>
-       <li><a href="#before-doctype-system-identifier-state"><span class="secno">9.2.4.33 </span>Before DOCTYPE system identifier state</a></li>
-       <li><a href="#doctype-system-identifier-double-quoted-state"><span class="secno">9.2.4.34 </span>DOCTYPE system identifier (double-quoted) state</a></li>
-       <li><a href="#doctype-system-identifier-single-quoted-state"><span class="secno">9.2.4.35 </span>DOCTYPE system identifier (single-quoted) state</a></li>
-       <li><a href="#after-doctype-system-identifier-state"><span class="secno">9.2.4.36 </span>After DOCTYPE system identifier state</a></li>
-       <li><a href="#bogus-doctype-state"><span class="secno">9.2.4.37 </span>Bogus DOCTYPE state</a></li>
-       <li><a href="#cdata-section-state"><span class="secno">9.2.4.38 </span>CDATA section state</a></li>
-       <li><a href="#tokenizing-character-references"><span class="secno">9.2.4.39 </span>Tokenizing character references</a></ol></li>
+       <li><a href="#after-doctype-public-keyword-state"><span class="secno">9.2.4.29 </span>After DOCTYPE public keyword state</a></li>
+       <li><a href="#before-doctype-public-identifier-state"><span class="secno">9.2.4.30 </span>Before DOCTYPE public identifier state</a></li>
+       <li><a href="#doctype-public-identifier-double-quoted-state"><span class="secno">9.2.4.31 </span>DOCTYPE public identifier (double-quoted) state</a></li>
+       <li><a href="#doctype-public-identifier-single-quoted-state"><span class="secno">9.2.4.32 </span>DOCTYPE public identifier (single-quoted) state</a></li>
+       <li><a href="#after-doctype-public-identifier-state"><span class="secno">9.2.4.33 </span>After DOCTYPE public identifier state</a></li>
+       <li><a href="#between-doctype-public-and-system-identifiers-state"><span class="secno">9.2.4.34 </span>Between DOCTYPE public and system identifiers state</a></li>
+       <li><a href="#after-doctype-system-keyword-state"><span class="secno">9.2.4.35 </span>After DOCTYPE system keyword state</a></li>
+       <li><a href="#before-doctype-system-identifier-state"><span class="secno">9.2.4.36 </span>Before DOCTYPE system identifier state</a></li>
+       <li><a href="#doctype-system-identifier-double-quoted-state"><span class="secno">9.2.4.37 </span>DOCTYPE system identifier (double-quoted) state</a></li>
+       <li><a href="#doctype-system-identifier-single-quoted-state"><span class="secno">9.2.4.38 </span>DOCTYPE system identifier (single-quoted) state</a></li>
+       <li><a href="#after-doctype-system-identifier-state"><span class="secno">9.2.4.39 </span>After DOCTYPE system identifier state</a></li>
+       <li><a href="#bogus-doctype-state"><span class="secno">9.2.4.40 </span>Bogus DOCTYPE state</a></li>
+       <li><a href="#cdata-section-state"><span class="secno">9.2.4.41 </span>CDATA section state</a></li>
+       <li><a href="#tokenizing-character-references"><span class="secno">9.2.4.42 </span>Tokenizing character references</a></ol></li>
      <li><a href="#tree-construction"><span class="secno">9.2.5 </span>Tree construction</a>
       <ol>
        <li><a href="#creating-and-inserting-elements"><span class="secno">9.2.5.1 </span>Creating and inserting elements</a></li>
@@ -58020,13 +58023,13 @@
     <p>If the six characters starting from the <a href="#current-input-character">current input
     character</a> are an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match
     for the word "PUBLIC", then consume those characters and switch to
-    the <a href="#before-doctype-public-identifier-state">before DOCTYPE public identifier state</a>.</p>
+    the <a href="#after-doctype-public-keyword-state">after DOCTYPE public keyword state</a>.</p>
 
     <p>Otherwise, if the six characters starting from the
     <a href="#current-input-character">current input character</a> are an <a href="#ascii-case-insensitive">ASCII
     case-insensitive</a> match for the word "SYSTEM", then consume
-    those characters and switch to the <a href="#before-doctype-system-identifier-state">before DOCTYPE system
-    identifier state</a>.</p>
+    those characters and switch to the <a href="#after-doctype-system-keyword-state">after DOCTYPE system
+    keyword state</a>.</p>
 
     <p>Otherwise, this is the <a href="#parse-error">parse error</a>. Set the
     DOCTYPE token's <i>force-quirks flag</i> to <i>on</i>. Switch to
@@ -58034,7 +58037,28 @@
 
    </dd>
 
-  </dl><h5 id="before-doctype-public-identifier-state"><span class="secno">9.2.4.29 </span><dfn>Before DOCTYPE public identifier state</dfn></h5>
+  </dl><h5 id="after-doctype-public-keyword-state"><span class="secno">9.2.4.29 </span><dfn>After DOCTYPE public keyword state</dfn></h5>
+
+  <p>Consume the <a href="#next-input-character">next input character</a>:</p>
+
+  <dl class="switch"><dt>U+0009 CHARACTER TABULATION</dt>
+   <dt>U+000A LINE FEED (LF)</dt>
+   <dt>U+000C FORM FEED (FF)</dt>
+   <!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
+   <dt>U+0020 SPACE</dt>
+   <dd>Switch to the <a href="#before-doctype-public-identifier-state">before DOCTYPE public identifier
+   state</a>.</dd>
+
+   <dt>EOF</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's
+   <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
+   Reconsume the EOF character in the <a href="#data-state">data state</a>.</dd>
+
+   <dt>Anything else</dt>
+   <dd><a href="#parse-error">Parse error</a>. Reconsume the current character in
+   the <a href="#before-doctype-public-identifier-state">before DOCTYPE public identifier state</a>.</dd>
+
+  </dl><h5 id="before-doctype-public-identifier-state"><span class="secno">9.2.4.30 </span><dfn>Before DOCTYPE public identifier state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58070,7 +58094,7 @@
    <i>force-quirks flag</i> to <i>on</i>. Switch to the <a href="#bogus-doctype-state">bogus
    DOCTYPE state</a>.</dd>
 
-  </dl><h5 id="doctype-public-identifier-double-quoted-state"><span class="secno">9.2.4.30 </span><dfn>DOCTYPE public identifier (double-quoted) state</dfn></h5>
+  </dl><h5 id="doctype-public-identifier-double-quoted-state"><span class="secno">9.2.4.31 </span><dfn>DOCTYPE public identifier (double-quoted) state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58092,7 +58116,7 @@
    token's public identifier. Stay in the <a href="#doctype-public-identifier-double-quoted-state">DOCTYPE public
    identifier (double-quoted) state</a>.</dd>
 
-  </dl><h5 id="doctype-public-identifier-single-quoted-state"><span class="secno">9.2.4.31 </span><dfn>DOCTYPE public identifier (single-quoted) state</dfn></h5>
+  </dl><h5 id="doctype-public-identifier-single-quoted-state"><span class="secno">9.2.4.32 </span><dfn>DOCTYPE public identifier (single-quoted) state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58114,7 +58138,7 @@
    token's public identifier. Stay in the <a href="#doctype-public-identifier-single-quoted-state">DOCTYPE public
    identifier (single-quoted) state</a>.</dd>
 
-  </dl><h5 id="after-doctype-public-identifier-state"><span class="secno">9.2.4.32 </span><dfn>After DOCTYPE public identifier state</dfn></h5>
+  </dl><h5 id="after-doctype-public-identifier-state"><span class="secno">9.2.4.33 </span><dfn>After DOCTYPE public identifier state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58123,7 +58147,46 @@
    <dt>U+000C FORM FEED (FF)</dt>
    <!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
    <dt>U+0020 SPACE</dt>
-   <dd>Stay in the <a href="#after-doctype-public-identifier-state">after DOCTYPE public identifier state</a>.</dd>
+   <dd>Switch to the <a href="#between-doctype-public-and-system-identifiers-state">between DOCTYPE public and system identifiers state</a>.</dd>
+
+   <dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
+   <dd>Emit the current DOCTYPE token. Switch to the <a href="#data-state">data
+   state</a>.</dd>
+
+   <dt>U+0022 QUOTATION MARK (")</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's system
+   identifier to the empty string (not missing), then switch to the
+   <a href="#doctype-system-identifier-double-quoted-state">DOCTYPE system identifier (double-quoted) state</a>.</dd>
+
+   <dt>U+0027 APOSTROPHE (')</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's system
+   identifier to the empty string (not missing), then switch to the
+   <a href="#doctype-system-identifier-single-quoted-state">DOCTYPE system identifier (single-quoted) state</a>.</dd>
+
+   <dt>EOF</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's
+   <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
+   Reconsume the EOF character in the <a href="#data-state">data state</a>.</dd>
+
+   <dt>Anything else</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's
+   <i>force-quirks flag</i> to <i>on</i>. Switch to the <a href="#bogus-doctype-state">bogus
+   DOCTYPE state</a>.</dd>
+
+  </dl><h5 id="between-doctype-public-and-system-identifiers-state"><span class="secno">9.2.4.34 </span><dfn>Between DOCTYPE public and system identifiers state</dfn></h5>
+
+  <p>Consume the <a href="#next-input-character">next input character</a>:</p>
+
+  <dl class="switch"><dt>U+0009 CHARACTER TABULATION</dt>
+   <dt>U+000A LINE FEED (LF)</dt>
+   <dt>U+000C FORM FEED (FF)</dt>
+   <!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
+   <dt>U+0020 SPACE</dt>
+   <dd>Stay in the <a href="#between-doctype-public-and-system-identifiers-state">between DOCTYPE public and system identifiers state</a>.</dd>
+
+   <dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
+   <dd>Emit the current DOCTYPE token. Switch to the <a href="#data-state">data
+   state</a>.</dd>
 
    <dt>U+0022 QUOTATION MARK (")</dt>
    <dd>Set the DOCTYPE token's system identifier to the empty string
@@ -58135,10 +58198,6 @@
    (not missing), then switch to the <a href="#doctype-system-identifier-single-quoted-state">DOCTYPE system identifier
    (single-quoted) state</a>.</dd>
 
-   <dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
-   <dd>Emit the current DOCTYPE token. Switch to the <a href="#data-state">data
-   state</a>.</dd>
-
    <dt>EOF</dt>
    <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's
    <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
@@ -58149,7 +58208,28 @@
    <i>force-quirks flag</i> to <i>on</i>. Switch to the <a href="#bogus-doctype-state">bogus
    DOCTYPE state</a>.</dd>
 
-  </dl><h5 id="before-doctype-system-identifier-state"><span class="secno">9.2.4.33 </span><dfn>Before DOCTYPE system identifier state</dfn></h5>
+  </dl><h5 id="after-doctype-system-keyword-state"><span class="secno">9.2.4.35 </span><dfn>After DOCTYPE system keyword state</dfn></h5>
+
+  <p>Consume the <a href="#next-input-character">next input character</a>:</p>
+
+  <dl class="switch"><dt>U+0009 CHARACTER TABULATION</dt>
+   <dt>U+000A LINE FEED (LF)</dt>
+   <dt>U+000C FORM FEED (FF)</dt>
+   <!--<dt>U+000D CARRIAGE RETURN (CR)</dt>-->
+   <dt>U+0020 SPACE</dt>
+   <dd>Switch to the <a href="#before-doctype-system-identifier-state">before DOCTYPE system identifier
+   state</a>.</dd>
+
+   <dt>EOF</dt>
+   <dd><a href="#parse-error">Parse error</a>. Set the DOCTYPE token's
+   <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
+   Reconsume the EOF character in the <a href="#data-state">data state</a>.</dd>
+
+   <dt>Anything else</dt>
+   <dd><a href="#parse-error">Parse error</a>. Reconsume the current character in
+   the <a href="#before-doctype-system-identifier-state">before DOCTYPE system identifier state</a>.</dd>
+
+  </dl><h5 id="before-doctype-system-identifier-state"><span class="secno">9.2.4.36 </span><dfn>Before DOCTYPE system identifier state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58185,7 +58265,7 @@
    <i>force-quirks flag</i> to <i>on</i>. Switch to the <a href="#bogus-doctype-state">bogus
    DOCTYPE state</a>.</dd>
 
-  </dl><h5 id="doctype-system-identifier-double-quoted-state"><span class="secno">9.2.4.34 </span><dfn>DOCTYPE system identifier (double-quoted) state</dfn></h5>
+  </dl><h5 id="doctype-system-identifier-double-quoted-state"><span class="secno">9.2.4.37 </span><dfn>DOCTYPE system identifier (double-quoted) state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58207,7 +58287,7 @@
    token's system identifier. Stay in the <a href="#doctype-system-identifier-double-quoted-state">DOCTYPE system
    identifier (double-quoted) state</a>.</dd>
 
-  </dl><h5 id="doctype-system-identifier-single-quoted-state"><span class="secno">9.2.4.35 </span><dfn>DOCTYPE system identifier (single-quoted) state</dfn></h5>
+  </dl><h5 id="doctype-system-identifier-single-quoted-state"><span class="secno">9.2.4.38 </span><dfn>DOCTYPE system identifier (single-quoted) state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58229,7 +58309,7 @@
    token's system identifier. Stay in the <a href="#doctype-system-identifier-single-quoted-state">DOCTYPE system
    identifier (single-quoted) state</a>.</dd>
 
-  </dl><h5 id="after-doctype-system-identifier-state"><span class="secno">9.2.4.36 </span><dfn>After DOCTYPE system identifier state</dfn></h5>
+  </dl><h5 id="after-doctype-system-identifier-state"><span class="secno">9.2.4.39 </span><dfn>After DOCTYPE system identifier state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58254,7 +58334,7 @@
    state</a>. (This does <em>not</em> set the DOCTYPE token's
    <i>force-quirks flag</i> to <i>on</i>.)</dd>
 
-  </dl><h5 id="bogus-doctype-state"><span class="secno">9.2.4.37 </span><dfn>Bogus DOCTYPE state</dfn></h5>
+  </dl><h5 id="bogus-doctype-state"><span class="secno">9.2.4.40 </span><dfn>Bogus DOCTYPE state</dfn></h5>
 
   <p>Consume the <a href="#next-input-character">next input character</a>:</p>
 
@@ -58269,7 +58349,7 @@
    <dt>Anything else</dt>
    <dd>Stay in the <a href="#bogus-doctype-state">bogus DOCTYPE state</a>.</dd>
 
-  </dl><h5 id="cdata-section-state"><span class="secno">9.2.4.38 </span><dfn>CDATA section state</dfn></h5>
+  </dl><h5 id="cdata-section-state"><span class="secno">9.2.4.41 </span><dfn>CDATA section state</dfn></h5>
 
   <p><i>(This can only happen if the <a href="#content-model-flag">content model
   flag</a> is set to the PCDATA state.)</i></p>
@@ -58289,7 +58369,7 @@
 
 
 
-  <h5 id="tokenizing-character-references"><span class="secno">9.2.4.39 </span>Tokenizing character references</h5>
+  <h5 id="tokenizing-character-references"><span class="secno">9.2.4.42 </span>Tokenizing character references</h5>
 
   <p>This section defines how to <dfn id="consume-a-character-reference">consume a character
   reference</dfn>. This definition is used when parsing character

Received on Tuesday, 29 September 2009 10:51:50 UTC