hixie: Revamp how the foreign lands are defined to make it easier to add the U+0000 handling. This checkin should have no normative effect. If there are any normative changes in this patch, that's a bug, pleasel let me know ASAP. (whatwg r5563)

hixie: Revamp how the foreign lands are defined to make it easier to add
the U+0000 handling. This checkin should have no normative effect. If
there are any normative changes in this patch, that's a bug, pleasel let
me know ASAP. (whatwg r5563)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4444&r2=1.4445&f=h
http://html5.org/tools/web-apps-tracker?from=5562&to=5563

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4444
retrieving revision 1.4445
diff -u -d -r1.4444 -r1.4445
--- Overview.html 29 Sep 2010 22:38:20 -0000 1.4444
+++ Overview.html 30 Sep 2010 01:40:14 -0000 1.4445
@@ -316,7 +316,7 @@
 
    <h1>HTML5</h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id="editor-s-draft-29-september-2010">Editor's Draft 29 September 2010</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-30-september-2010">Editor's Draft 30 September 2010</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -422,7 +422,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 29 September 2010 Editor's Draft.
+  This specification is the 30 September 2010 Editor's Draft.
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group
   actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working
   group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
@@ -60049,7 +60049,29 @@
   mode: in foreign content">in foreign content</a>", tokens must be
   handled as follows:</p>
 
-  <dl class="switch"><dt>A character token</dt>
+  <dl class="switch"><dt>Any token, if the <a href="#current-node">current node</a> is an element in the <a href="#html-namespace-0">HTML namespace</a></dt>
+   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is a <a href="#mathml-text-integration-point">MathML text integration point</a></dt>
+   <dt>A start tag whose tag name is "svg", if the <a href="#current-node">current node</a> is an <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
+   <dt>A start tag, if the <a href="#current-node">current node</a> is an <a href="#html-integration-point">HTML integration point</a></dt>
+   <dt>A character token, if the <a href="#current-node">current node</a> is an <a href="#html-integration-point">HTML integration point</a></dt>
+   <dt>An end-of-file token</dt>
+   <dd>
+
+    <ol><li><p>Process the token <a href="#using-the-rules-for">using the rules for</a> the
+     "<a href="#parsing-main-inbody" title="insertion mode: in body">in body</a>"
+     <a href="#insertion-mode">insertion mode</a>, except that if those rules say to
+     reprocess the token, these steps must be finished first (i.e. the
+     insertion mode is reset by the following step before the token is
+     reprocessed).</li>
+
+     <li><p>If, after doing so, the <a href="#insertion-mode">insertion mode</a> is
+     still "<a href="#parsing-main-inforeign" title="insertion mode: in foreign content">in
+     foreign content</a>", <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode
+     appropriately</a>.</li>
+
+    </ol></dd>
+
+   <dt>A character token</dt>
    <dd>
 
     <p><a href="#insert-a-character" title="insert a character">Insert the token's
@@ -60074,107 +60096,6 @@
     <p><a href="#parse-error">Parse error</a>. Ignore the token.</p>
    </dd>
 
-   <dt id="scriptForeignEndTag">An end tag whose tag name is "script", if the <a href="#current-node">current node</a> is a <code title="">script</code> element in the <a href="#svg-namespace">SVG namespace</a></dt>
-   <dd>
-
-    <p>Pop the <a href="#current-node">current node</a> off the <a href="#stack-of-open-elements">stack of open
-    elements</a>.</p>
-
-    <p>Let the <var title="">old insertion point</var> have the
-    same value as the current <a href="#insertion-point">insertion point</a>. Let
-    the <a href="#insertion-point">insertion point</a> be just before the <a href="#next-input-character">next
-    input character</a>.</p>
-
-    <p>Increment the parser's <a href="#script-nesting-level">script nesting level</a> by
-    one. Set the <a href="#parser-pause-flag">parser pause flag</a> to true.</p>
-
-    <p><a href="http://www.w3.org/TR/SVGMobile12/script.html#ScriptContentProcessing">Process
-    the <code title="">script</code> element</a> according to the SVG
-    rules, if the user agent supports SVG. <a href="#refsSVG">[SVG]</a></p>
-
-    <p class="note">Even if this causes <a href="#dom-document-write" title="dom-document-write">new characters to be inserted into the
-    tokenizer</a>, the parser will not be executed reentrantly,
-    since the <a href="#parser-pause-flag">parser pause flag</a> is true.</p>
-
-    <p>Decrement the parser's <a href="#script-nesting-level">script nesting level</a> by
-    one. If the parser's <a href="#script-nesting-level">script nesting level</a> is zero,
-    then set the <a href="#parser-pause-flag">parser pause flag</a> to false.</p>
-
-    <p>Let the <a href="#insertion-point">insertion point</a> have the value of the <var title="">old insertion point</var>. (In other words, restore the
-    <a href="#insertion-point">insertion point</a> to its previous value. This value
-    might be the "undefined" value.)</p>
-
-   </dd>
-
-   <dt>An end tag, if the <a href="#current-node">current node</a> is not an element in the <a href="#html-namespace-0">HTML namespace</a></dt>
-
-   <dd>
-
-    <p>Run these steps:</p>
-
-    <ol><li><p>Initialize <var title="">node</var> to be the <a href="#current-node">current
-     node</a> (the bottommost node of the stack).</li>
-
-     <li><p>If <var title="">node</var> is not an element with the
-     same tag name as the token, then this is a <a href="#parse-error">parse
-     error</a>.</li>
-
-     <li><p><i>Loop</i>: If <var title="">node</var>'s tag name,
-     <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>, is the same as as the
-     tag name of the token, pop elements from the <a href="#stack-of-open-elements">stack of open
-     elements</a> until <var title="">node</var> has been popped
-     from the stack, and then jump to the last step of this list of
-     steps.</li>
-
-     <li><p>Set <var title="">node</var> to the previous entry in the
-     <a href="#stack-of-open-elements">stack of open elements</a>.</li>
-
-     <li><p>If <var title="">node</var> is not an element in the
-     <a href="#html-namespace-0">HTML namespace</a>, return to the step labeled
-     <i>loop</i>.</li>
-
-     <li><p>Otherwise, process the token <a href="#using-the-rules-for">using the rules
-     for</a> the "<a href="#parsing-main-inbody" title="insertion mode: in body">in
-     body</a>" <a href="#insertion-mode">insertion mode</a>, except that if those
-     rules say to reprocess the token, these steps must be finished
-     first (i.e. the insertion mode is reset by the following step
-     before the token is reprocessed).</li>
-
-     <li><p>If the <a href="#insertion-mode">insertion mode</a> is still "<a href="#parsing-main-inforeign" title="insertion mode: in foreign content">in foreign
-     content</a>", <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode
-     appropriately</a>.</li>
-
-    </ol></dd>
-
-   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is an <code title="">mi</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is an <code title="">mo</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is an <code title="">mn</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is an <code title="">ms</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href="#current-node">current node</a> is an <code title="">mtext</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag whose tag name is "svg", if the <a href="#current-node">current node</a> is an <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a></dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is an <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a> whose start tag token had an attribute with the name "encoding" whose value was an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">text/html</code>"</dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is an <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a> whose start tag token had an attribute with the name "encoding" whose value was an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">application/xhtml+xml</code>"</dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is a <code title="">foreignObject</code> element in the <a href="#svg-namespace">SVG namespace</a></dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is a <code title="">desc</code> element in the <a href="#svg-namespace">SVG namespace</a></dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is a <code title="">title</code> element in the <a href="#svg-namespace">SVG namespace</a></dt>
-   <dt>A start tag, if the <a href="#current-node">current node</a> is an element in the <a href="#html-namespace-0">HTML namespace</a></dt>
-   <dt>Any other end tag</dt>
-   <dd>
-
-    <ol><li><p>Process the token <a href="#using-the-rules-for">using the rules for</a> the
-     "<a href="#parsing-main-inbody" title="insertion mode: in body">in body</a>"
-     <a href="#insertion-mode">insertion mode</a>, except that if those rules say to
-     reprocess the token, these steps must be finished first (i.e. the
-     insertion mode is reset by the following step before the token is
-     reprocessed).</li>
-
-     <li><p>If, after doing so, the <a href="#insertion-mode">insertion mode</a> is
-     still "<a href="#parsing-main-inforeign" title="insertion mode: in foreign content">in
-     foreign content</a>", <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode
-     appropriately</a>.</li>
-
-    </ol></dd>
-
    <dt>A start tag whose tag name is one of: <!--"a",--> "b", "big",
    "blockquote", "body"<!--by inspection-->, "br", "center", "code",
    "dd", "div", "dl", "dt"<!-- so that dd and dt can be handled
@@ -60194,27 +60115,19 @@
    attributes named "color", "face", or "size"</dt> <!-- the
    attributes here are required so that SVG <font> will go through as
    SVG but legacy <font>s won't -->
-   <dt>An end-of-file token</dt> <dd>
+
+   <dd>
 
     <p><a href="#parse-error">Parse error</a>.</p>
 
     <p>Pop an element from the <a href="#stack-of-open-elements">stack of open elements</a>,
     and then keep popping more elements from the <a href="#stack-of-open-elements">stack of open
-    elements</a> until the <a href="#current-node">current node</a> is one of the
-    following:</p>
-
-    <ul class="brief"><li>an <code title="">mi</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>an <code title="">mo</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>an <code title="">mn</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>an <code title="">ms</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>an <code title="">mtext</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>an <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
-     <li>a <code title="">foreignObject</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
-     <li>a <code title="">desc</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
-     <li>a <code title="">title</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
-     <li>an element in the <a href="#html-namespace-0">HTML namespace</a></li>
+    elements</a> until the <a href="#current-node">current node</a> is a
+    <a href="#mathml-text-integration-point">MathML text integration point</a>, an <a href="#html-integration-point">HTML
+    integration point</a>, or an element in the <a href="#html-namespace-0">HTML
+    namespace</a>.</p>
 
-    </ul><p>Then, <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode appropriately</a> and
+    <p>Then, <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode appropriately</a> and
     reprocess the token.</p>
 
    </dd>
@@ -60291,7 +60204,95 @@
 
    </dd>
 
-  </dl><h5 id="parsing-main-afterbody"><span class="secno">8.2.5.22 </span>The "<dfn title="insertion mode: after body">after body</dfn>" insertion mode</h5>
+   <dt id="scriptForeignEndTag">An end tag whose tag name is "script", if the <a href="#current-node">current node</a> is a <code title="">script</code> element in the <a href="#svg-namespace">SVG namespace</a></dt>
+   <dd>
+
+    <p>Pop the <a href="#current-node">current node</a> off the <a href="#stack-of-open-elements">stack of open
+    elements</a>.</p>
+
+    <p>Let the <var title="">old insertion point</var> have the
+    same value as the current <a href="#insertion-point">insertion point</a>. Let
+    the <a href="#insertion-point">insertion point</a> be just before the <a href="#next-input-character">next
+    input character</a>.</p>
+
+    <p>Increment the parser's <a href="#script-nesting-level">script nesting level</a> by
+    one. Set the <a href="#parser-pause-flag">parser pause flag</a> to true.</p>
+
+    <p><a href="http://www.w3.org/TR/SVGMobile12/script.html#ScriptContentProcessing">Process
+    the <code title="">script</code> element</a> according to the SVG
+    rules, if the user agent supports SVG. <a href="#refsSVG">[SVG]</a></p>
+
+    <p class="note">Even if this causes <a href="#dom-document-write" title="dom-document-write">new characters to be inserted into the
+    tokenizer</a>, the parser will not be executed reentrantly,
+    since the <a href="#parser-pause-flag">parser pause flag</a> is true.</p>
+
+    <p>Decrement the parser's <a href="#script-nesting-level">script nesting level</a> by
+    one. If the parser's <a href="#script-nesting-level">script nesting level</a> is zero,
+    then set the <a href="#parser-pause-flag">parser pause flag</a> to false.</p>
+
+    <p>Let the <a href="#insertion-point">insertion point</a> have the value of the <var title="">old insertion point</var>. (In other words, restore the
+    <a href="#insertion-point">insertion point</a> to its previous value. This value
+    might be the "undefined" value.)</p>
+
+   </dd>
+
+   <dt>Any other end tag</dt>
+
+   <dd>
+
+    <p>Run these steps:</p>
+
+    <ol><li><p>Initialize <var title="">node</var> to be the <a href="#current-node">current
+     node</a> (the bottommost node of the stack).</li>
+
+     <li><p>If <var title="">node</var> is not an element with the
+     same tag name as the token, then this is a <a href="#parse-error">parse
+     error</a>.</li>
+
+     <li><p><i>Loop</i>: If <var title="">node</var>'s tag name,
+     <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>, is the same as as the
+     tag name of the token, pop elements from the <a href="#stack-of-open-elements">stack of open
+     elements</a> until <var title="">node</var> has been popped
+     from the stack, and then jump to the last step of this list of
+     steps.</li>
+
+     <li><p>Set <var title="">node</var> to the previous entry in the
+     <a href="#stack-of-open-elements">stack of open elements</a>.</li>
+
+     <li><p>If <var title="">node</var> is not an element in the
+     <a href="#html-namespace-0">HTML namespace</a>, return to the step labeled
+     <i>loop</i>.</li>
+
+     <li><p>Otherwise, process the token <a href="#using-the-rules-for">using the rules
+     for</a> the "<a href="#parsing-main-inbody" title="insertion mode: in body">in
+     body</a>" <a href="#insertion-mode">insertion mode</a>, except that if those
+     rules say to reprocess the token, these steps must be finished
+     first (i.e. the insertion mode is reset by the following step
+     before the token is reprocessed).</li>
+
+     <li><p>If the <a href="#insertion-mode">insertion mode</a> is still "<a href="#parsing-main-inforeign" title="insertion mode: in foreign content">in foreign
+     content</a>", <a href="#reset-the-insertion-mode-appropriately">reset the insertion mode
+     appropriately</a>.</li>
+
+    </ol></dd>
+
+  </dl><p>The <a href="#current-node">current node</a> is a <dfn id="mathml-text-integration-point">MathML text
+  integration point</dfn> if it is one of the following elements:</p>
+
+  <ul class="brief"><li>An <code title="">mi</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
+   <li>An <code title="">mo</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
+   <li>An <code title="">mn</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
+   <li>An <code title="">ms</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
+   <li>An <code title="">mtext</code> element in the <a href="#mathml-namespace">MathML namespace</a></li>
+  </ul><p>The <a href="#current-node">current node</a> is an <dfn id="html-integration-point">HTML
+  integration point</dfn> if it is one of the following elements:</p>
+
+  <ul class="brief"><li>An <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a> whose start tag token had an attribute with the name "encoding" whose value was an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">text/html</code>"</li>
+   <li>An <code title="">annotation-xml</code> element in the <a href="#mathml-namespace">MathML namespace</a> whose start tag token had an attribute with the name "encoding" whose value was an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">application/xhtml+xml</code>"</li>
+   <li>A <code title="">foreignObject</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
+   <li>A <code title="">desc</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
+   <li>A <code title="">title</code> element in the <a href="#svg-namespace">SVG namespace</a></li>
+  </ul><h5 id="parsing-main-afterbody"><span class="secno">8.2.5.22 </span>The "<dfn title="insertion mode: after body">after body</dfn>" insertion mode</h5>
 
   <p>When the <a href="#insertion-mode">insertion mode</a> is "<a href="#parsing-main-afterbody" title="insertion
   mode: after body">after body</a>", tokens must be handled as follows:</p>

Received on Thursday, 30 September 2010 01:41:14 UTC