Bugzilla – Bug 251
A bunch of syntax and parsing fixes mostly to fix omissions relating to the new elements. (bug 5759)
Last modified: 2008-08-13 19:34:37 CEST
Index: source =================================================================== --- source (revision 1777) +++ source (revision 1778) @@ -21915,7 +21915,7 @@ <dl class="element"> <dt>Categories</dt> - <dd><span>Flow element</span>.</dd> + <dd><span>Flow content</span>.</dd> <dt>Contexts in which this element may be used:</dt> <dd>Where <span>flow content</span> is expected.</dd> <dt>Content model:</dt> @@ -21984,7 +21984,7 @@ <dl class="element"> <dt>Categories</dt> - <dd><span>Flow element</span>.</dd> + <dd><span>Flow content</span>.</dd> <dd><span>Interactive element</span>.</dd> <dd><span>Sectioning root</span>.</dd> <dt>Contexts in which this element may be used:</dt> @@ -39284,11 +39284,11 @@ <dt><dfn>Void elements</dfn></dt> - <dd><code>base</code>, <code>link</code>, <code>meta</code>, + <dd><code>base</code>, <code>command</code>, + <code>event-source</code>, <code>link</code>, <code>meta</code>, <code>hr</code>, <code>br</code>, <code>img</code>, <code>embed</code>, <code>param</code>, <code>area</code>, - <code>col</code>, <code>input</code><!-- XXX add: , - <code>command</code>, <code>event-source</code> --></dd> + <code>col</code>, <code>input</code>, <code>source</code></dd> <dt>CDATA elements</dt> @@ -39677,12 +39677,28 @@ <p>A <code>p</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the <code>p</code> element is immediately followed by an <code>address</code>, - <code>blockquote</code>, <code>dl</code>, <code>fieldset</code>, - <code>form</code>, <code>h1</code>, <code>h2</code>, - <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, - <code>hr</code>, <code>menu</code>, <code>ol</code>, <code>p</code>, - <code>pre</code>, <code>table</code>, or <code>ul</code> element, or - if there is no more content in the parent element.</p> + <code>article</code>, <code>aside</code>, <code>blockquote</code>, + <code>datagrid</code>, <code>dialog</code>, <code>dir</code>, + <code>div</code>, <code>dl</code>, <code>fieldset</code>, + <code>footer</code>, <code>form</code>, <code>h1</code>, + <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, + <code>h6</code>, <code>header</code>, <code>hr</code>, + <code>menu</code>, <code>nav</code>, <code>ol</code>, + <code>p</code>, <code>pre</code>, <code>section</code>, + <code>table</code>, or <code>ul</code>, element, or if there is no + more content in the parent element.</p> + + <!-- </rt> --> + <p>An <code>rt</code> element's <span title="syntax-end-tag">end + tag</span> may be omitted if the <code>rt</code> element is + immediately followed by an <code>rt</code> or <code>rp</code> + element, or if there is no more content in the parent element.</p> + + <!-- </rp> --> + <p>An <code>rp</code> element's <span title="syntax-end-tag">end + tag</span> may be omitted if the <code>rp</code> element is + immediately followed by an <code>rt</code> or <code>rp</code> + element, or if there is no more content in the parent element.</p> <!-- </optgroup> --> <p>An <code>optgroup</code> element's <span @@ -40936,29 +40952,35 @@ <dl> <dt><dfn>Special</dfn></dt> + <dd><p>The following HTML elements have varying levels of special parsing rules: <code>address</code>, <code>area</code>, - <code>base</code>, <code>basefont</code>, <code>bgsound</code>, + <code>article</code>, <code>aside</code>, <code>base</code>, + <code>basefont</code>, <code>bgsound</code>, <code>blockquote</code>, <code>body</code>, <code>br</code>, <code>center</code>, <code>col</code>, <code>colgroup</code>, - <code>dd</code>, <code>dir</code>, <code>div</code>, - <code>dl</code>, <code>dt</code>, <code>embed</code>, - <code>fieldset</code>, <code>form</code>, <code>frame</code>, - <code>frameset</code>, <code>h1</code>, <code>h2</code>, - <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, - <code>head</code>, <code>hr</code>, <code>iframe</code>, <!-- + <code>command</code>, <code>datagrid</code>, <code>dd</code>, + <code>details</code>, <code>dialog</code>, <code>dir</code>, + <code>div</code>, <code>dl</code>, <code>dt</code>, + <code>embed</code>, <code>event-source</code> + <code>fieldset</code>, <code>figure</code>, <code>footer</code>, + <code>form</code>, <code>frame</code>, <code>frameset</code>, + <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, + <code>h5</code>, <code>h6</code>, <code>head</code>, + <code>header</code>, <code>hr</code>, <code>iframe</code>, <!-- <code>image</code>, (commented out because this isn't an element that can end up on the stack, so it doesn't matter) --> <code>img</code>, <code>input</code>, <code>isindex</code>, <code>li</code>, <code>link</code>, <code>listing</code>, - <code>menu</code>, <code>meta</code>, <code>noembed</code>, - <code>noframes</code>, <code>noscript</code>, <code>ol</code>, - <code>optgroup</code>, <code>option</code>, <code>p</code>, - <code>param</code>, <code>plaintext</code>, <code>pre</code>, - <code>script</code>, <code>select</code>, <code>spacer</code>, - <code>style</code>, <code>tbody</code>, <code>textarea</code>, - <code>tfoot</code>, <code>thead</code>, <code>title</code>, - <code>tr</code>, <code>ul</code>, and <code>wbr</code>.</p></dd> + <code>menu</code>, <code>meta</code>, <code>nav</code>, + <code>noembed</code>, <code>noframes</code>, <code>noscript</code>, + <code>ol</code>, <code>optgroup</code>, <code>option</code>, + <code>p</code>, <code>param</code>, <code>plaintext</code>, + <code>pre</code>, <code>script</code>, <code>section</code>, + <code>select</code>, <code>spacer</code>, <code>style</code>, + <code>tbody</code>, <code>textarea</code>, <code>tfoot</code>, + <code>thead</code>, <code>title</code>, <code>tr</code>, + <code>ul</code>, and <code>wbr</code>.</p></dd> <dt><dfn>Scoping</dfn></dt> <dd><p>The following HTML elements introduce new <span title="has @@ -43944,9 +43966,10 @@ <!-- the normal ones --> <dt>A start tag whose tag name is one of: "address", "article", - "aside", "blockquote", "center", "datagrid", "dialog", "dir", - "div", "dl", "fieldset", "footer", "h1", "h2", "h3", "h4", "h5", - "h6", "header", "menu", "nav", "ol", "p", "section", "ul"</dt> + "aside", "blockquote", "center", "datagrid", "details", "dialog", + "dir", "div", "dl", "fieldset", "figure", "footer", "h1", "h2", + "h3", "h4", "h5", "h6", "header", "menu", "nav", "ol", "p", + "section", "ul"</dt> <dd> <!-- As of May 2008 this doesn't match any browser exactly, but is @@ -43957,7 +43980,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <!-- (only applies to <h1>-<h6>) Removed for compatibility with IE7, though all other @@ -43983,7 +44006,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <p><span>Insert an HTML element</span> for the token.</p> @@ -44007,7 +44030,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <p><span>Insert an HTML element</span> for the token, and set the <code title="form">form</code> element pointer to point to the @@ -44027,7 +44050,7 @@ node</span> (the bottommost node of the stack).</p></li> <li><p>If <var title="">node</var> is an <code>li</code> element, - then act as if an end tag with the tag name <code>li</code> had + then act as if an end tag with the tag name "li" had been seen, then jump to the last step.</p></li> <li><p>If <var title="">node</var> is not in the @@ -44052,7 +44075,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <p>Finally, <span>insert an HTML element</span> for the token.</p> @@ -44101,7 +44124,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <p>Finally, <span>insert an HTML element</span> for the token.</p> @@ -44119,7 +44142,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> + "p" had been seen.</p> <p><span>Insert an HTML element</span> for the token.</p> @@ -44138,9 +44161,9 @@ <!-- the normal ones --> <dt>An end tag whose tag name is one of: "address", "article", - "aside", "blockquote", "center", "datagrid", "dialog", "dir", - "div", "dl", "fieldset", "footer", "header", "listing", "menu", - "nav", "ol", "pre", "section", "ul"</dt> + "aside", "blockquote", "center", "datagrid", "details", "dialog", + "dir", "div", "dl", "fieldset", "figure", "footer", "header", + "listing", "menu", "nav", "ol", "pre", "section", "ul"</dt> <dd> <p>If the <span>stack of open elements</span> does not <span @@ -44349,7 +44372,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>nobr</code> element in scope</span>, then this is a <span>parse error</span>. Act as - if an end tag with the tag name <code>nobr</code> had been + if an end tag with the tag name "nobr" had been seen, then once again <span>reconstruct the active formatting elements</span>, if any.</p> @@ -44625,7 +44648,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> <!-- XXX quirks: don't do this --> + "p" had been seen.</p> <!-- XXX quirks: don't do this --> <p><span>Insert an HTML element</span> for the token.</p> @@ -44668,7 +44691,7 @@ <p>If the <span>stack of open elements</span> <span title="has an element in scope">has a <code>p</code> element in scope</span>, then act as if an end tag with the tag name - <code>p</code> had been seen.</p> <!-- XXX quirks: don't do this --> + "p" had been seen.</p> <!-- XXX quirks: don't do this --> <p><span>Insert an HTML element</span> for the token. Immediately pop the <span>current node</span> off the <span>stack of open