[html5] r1691 - /
whatwg at whatwg.org
whatwg at whatwg.org
Sat May 24 01:44:21 PDT 2008
Author: ianh
Date: 2008-05-24 01:44:20 -0700 (Sat, 24 May 2008)
New Revision: 1691
Modified:
index
source
Log:
[e] (0) Factor out foster parenting to ensure it is not ambiguous.
Modified: index
===================================================================
--- index 2008-05-24 01:54:50 UTC (rev 1690)
+++ index 2008-05-24 08:44:20 UTC (rev 1691)
@@ -1698,70 +1698,73 @@
<li><a href="#closing"><span class=secno>8.2.5.2. </span>Closing
elements that have implied end tags</a>
- <li><a href="#the-initial"><span class=secno>8.2.5.3. </span>The
+ <li><a href="#foster"><span class=secno>8.2.5.3. </span>Foster
+ parenting</a>
+
+ <li><a href="#the-initial"><span class=secno>8.2.5.4. </span>The
"initial" insertion mode</a>
- <li><a href="#the-before"><span class=secno>8.2.5.4. </span>The
+ <li><a href="#the-before"><span class=secno>8.2.5.5. </span>The
"before html" insertion mode</a>
- <li><a href="#the-before0"><span class=secno>8.2.5.5. </span>The
+ <li><a href="#the-before0"><span class=secno>8.2.5.6. </span>The
"before head" insertion mode</a>
- <li><a href="#parsing-main-inhead"><span class=secno>8.2.5.6.
+ <li><a href="#parsing-main-inhead"><span class=secno>8.2.5.7.
</span>The "in head" insertion mode</a>
<li><a href="#parsing-main-inheadnoscript"><span
- class=secno>8.2.5.7. </span>The "in head noscript" insertion
+ class=secno>8.2.5.8. </span>The "in head noscript" insertion
mode</a>
- <li><a href="#the-after"><span class=secno>8.2.5.8. </span>The
+ <li><a href="#the-after"><span class=secno>8.2.5.9. </span>The
"after head" insertion mode</a>
- <li><a href="#parsing-main-inbody"><span class=secno>8.2.5.9.
+ <li><a href="#parsing-main-inbody"><span class=secno>8.2.5.10.
</span>The "in body" insertion mode</a>
- <li><a href="#parsing-main-intable"><span class=secno>8.2.5.10.
+ <li><a href="#parsing-main-intable"><span class=secno>8.2.5.11.
</span>The "in table" insertion mode</a>
- <li><a href="#parsing-main-incaption"><span class=secno>8.2.5.11.
+ <li><a href="#parsing-main-incaption"><span class=secno>8.2.5.12.
</span>The "in caption" insertion mode</a>
- <li><a href="#parsing-main-incolgroup"><span class=secno>8.2.5.12.
+ <li><a href="#parsing-main-incolgroup"><span class=secno>8.2.5.13.
</span>The "in column group" insertion mode</a>
- <li><a href="#parsing-main-intbody"><span class=secno>8.2.5.13.
+ <li><a href="#parsing-main-intbody"><span class=secno>8.2.5.14.
</span>The "in table body" insertion mode</a>
- <li><a href="#parsing-main-intr"><span class=secno>8.2.5.14.
+ <li><a href="#parsing-main-intr"><span class=secno>8.2.5.15.
</span>The "in row" insertion mode</a>
- <li><a href="#parsing-main-intd"><span class=secno>8.2.5.15.
+ <li><a href="#parsing-main-intd"><span class=secno>8.2.5.16.
</span>The "in cell" insertion mode</a>
- <li><a href="#parsing-main-inselect"><span class=secno>8.2.5.16.
+ <li><a href="#parsing-main-inselect"><span class=secno>8.2.5.17.
</span>The "in select" insertion mode</a>
<li><a href="#parsing-main-inselectintable"><span
- class=secno>8.2.5.17. </span>The "in select in table" insertion
+ class=secno>8.2.5.18. </span>The "in select in table" insertion
mode</a>
- <li><a href="#parsing-main-inforeign"><span class=secno>8.2.5.18.
+ <li><a href="#parsing-main-inforeign"><span class=secno>8.2.5.19.
</span>The "in foreign content" insertion mode</a>
- <li><a href="#parsing-main-afterbody"><span class=secno>8.2.5.19.
+ <li><a href="#parsing-main-afterbody"><span class=secno>8.2.5.20.
</span>The "after body" insertion mode</a>
- <li><a href="#parsing-main-inframeset"><span class=secno>8.2.5.20.
+ <li><a href="#parsing-main-inframeset"><span class=secno>8.2.5.21.
</span>The "in frameset" insertion mode</a>
<li><a href="#parsing-main-afterframeset"><span
- class=secno>8.2.5.21. </span>The "after frameset" insertion
+ class=secno>8.2.5.22. </span>The "after frameset" insertion
mode</a>
- <li><a href="#the-after0"><span class=secno>8.2.5.22. </span>The
+ <li><a href="#the-after0"><span class=secno>8.2.5.23. </span>The
"after after body" insertion mode</a>
- <li><a href="#the-after1"><span class=secno>8.2.5.23. </span>The
+ <li><a href="#the-after1"><span class=secno>8.2.5.24. </span>The
"after after frameset" insertion mode</a>
</ul>
@@ -44988,7 +44991,48 @@
element to exclude from the process, then the UA must perform the above
steps as if that element was not in the above list.
- <h5 id=the-initial><span class=secno>8.2.5.3. </span>The "<dfn id=initial
+ <h5 id=foster><span class=secno>8.2.5.3. </span>Foster parenting</h5>
+
+ <p>Foster parenting happens when content is misnested in tables.
+
+ <p>When a node <var title="">node</var> is to be <dfn id=foster0
+ title="foster parent">foster parented</dfn>, the node <var
+ title="">node</var> must be inserted into the <i><a href="#foster1">foster
+ parent element</a></i>, and the <a href="#current6">current table</a> must
+ be marked as <dfn id=tainted>tainted</dfn>. (Once the <a
+ href="#current6">current table</a> has been <a
+ href="#tainted">tainted</a>, whitespace characters are inserted into the
+ <i><a href="#foster1">foster parent element</a></i> instead of the <a
+ href="#current5">current node</a>.)
+
+ <p>The <dfn id=foster1>foster parent element</dfn> is the parent element of
+ the last <code><a href="#table">table</a></code> element in the <a
+ href="#stack">stack of open elements</a>, if there is a <code><a
+ href="#table">table</a></code> element and it has such a parent element.
+ If there is no <code><a href="#table">table</a></code> element in the <a
+ href="#stack">stack of open elements</a> (<a href="#fragment">fragment
+ case</a>), then the <em><a href="#foster1">foster parent element</a></em>
+ is the first element in the <a href="#stack">stack of open elements</a>
+ (the <code><a href="#html">html</a></code> element). Otherwise, if there
+ is a <code><a href="#table">table</a></code> element in the <a
+ href="#stack">stack of open elements</a>, but the last <code><a
+ href="#table">table</a></code> element in the <a href="#stack">stack of
+ open elements</a> has no parent, or its parent node is not an element,
+ then the <em><a href="#foster1">foster parent element</a></em> is the
+ element before the last <code><a href="#table">table</a></code> element in
+ the <a href="#stack">stack of open elements</a>.
+
+ <p>If the <i><a href="#foster1">foster parent element</a></i> is the parent
+ element of the last <code><a href="#table">table</a></code> element in the
+ <a href="#stack">stack of open elements</a>, then <var title="">node</var>
+ must be inserted immediately <em>before</em> the last <code><a
+ href="#table">table</a></code> element in the <a href="#stack">stack of
+ open elements</a> in the <i><a href="#foster1">foster parent
+ element</a></i>; otherwise, <var title="">node</var> must be
+ <em>appended</em> to the <i><a href="#foster1">foster parent
+ element</a></i>.
+
+ <h5 id=the-initial><span class=secno>8.2.5.4. </span>The "<dfn id=initial
title="insertion mode: initial">initial</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#initial"
@@ -45294,7 +45338,7 @@
current token.</p>
</dl>
- <h5 id=the-before><span class=secno>8.2.5.4. </span>The "<dfn id=before4
+ <h5 id=the-before><span class=secno>8.2.5.5. </span>The "<dfn id=before4
title="insertion mode: before html">before html</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#before4"
@@ -45367,7 +45411,7 @@
content continues being appended to the nodes as described in the next
section.
- <h5 id=the-before0><span class=secno>8.2.5.5. </span>The "<dfn id=before5
+ <h5 id=the-before0><span class=secno>8.2.5.6. </span>The "<dfn id=before5
title="insertion mode: before head">before head</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#before5"
@@ -45437,7 +45481,7 @@
after head">after head</a>" <span>insertion mode</span>.</p>
</dl>
- <h5 id=parsing-main-inhead><span class=secno>8.2.5.6. </span>The "<dfn
+ <h5 id=parsing-main-inhead><span class=secno>8.2.5.7. </span>The "<dfn
id=in-head title="insertion mode: in head">in head</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#in-head"
@@ -45688,7 +45732,7 @@
get put into the head. Do we want to copy that?</p>
</dl>
- <h5 id=parsing-main-inheadnoscript><span class=secno>8.2.5.7. </span>The
+ <h5 id=parsing-main-inheadnoscript><span class=secno>8.2.5.8. </span>The
"<dfn id=in-head0 title="insertion mode: in head noscript">in head
noscript</dfn>" insertion mode</h5>
@@ -45753,7 +45797,7 @@
name "noscript" had been seen and reprocess the current token.</p>
</dl>
- <h5 id=the-after><span class=secno>8.2.5.8. </span>The "<dfn id=after4
+ <h5 id=the-after><span class=secno>8.2.5.9. </span>The "<dfn id=after4
title="insertion mode: after head">after head</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#after4"
@@ -45837,7 +45881,7 @@
had been seen, and then reprocess the current token.</p>
</dl>
- <h5 id=parsing-main-inbody><span class=secno>8.2.5.9. </span>The "<dfn
+ <h5 id=parsing-main-inbody><span class=secno>8.2.5.10. </span>The "<dfn
id=in-body title="insertion mode: in body">in body</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#in-body"
@@ -46428,18 +46472,8 @@
href="#tbody">tbody</a></code>, <code><a
href="#tfoot0">tfoot</a></code>, <code><a
href="#thead0">thead</a></code>, or <code><a href="#tr">tr</a></code>
- element, then, insert whatever <var title="">last node</var> ended up
- being in the previous step into the <i><a href="#foster">foster parent
- element</a></i>. If the <i><a href="#foster">foster parent
- element</a></i> is the parent element of the last <code><a
- href="#table">table</a></code> element in the <a href="#stack">stack
- of open elements</a>, then <var title="">last node</var> must be
- inserted immediately <em>before</em> the last <code><a
- href="#table">table</a></code> element in the <a href="#stack">stack
- of open elements</a> in the <i><a href="#foster">foster parent
- element</a></i>; otherwise, <var title="">last node</var> must be
- <em>appended</em> to the <i><a href="#foster">foster parent
- element</a></i>.</p>
+ element, then, <a href="#foster0">foster parent</a> whatever <var
+ title="">last node</var> ended up being in the previous step.</p>
<p>Otherwise, append whatever <var title="">last node</var> ended up
being in the previous step to the <var title="">common ancestor</var>
@@ -46903,7 +46937,7 @@
</ol>
</dl>
- <h5 id=parsing-main-intable><span class=secno>8.2.5.10. </span>The "<dfn
+ <h5 id=parsing-main-intable><span class=secno>8.2.5.11. </span>The "<dfn
id=in-table title="insertion mode: in table">in table</dfn>" insertion
mode</h5>
@@ -47067,46 +47101,14 @@
<p><a href="#parse1">Parse error</a>. Process the token <a
href="#using8">using the rules for</a> the "<a href="#in-body"
title="insertion mode: in body">in body</a>" <span>insertion
- mode</span>, with the following exception:</p>
-
- <p>If the <a href="#current5">current node</a> is a <code><a
- href="#table">table</a></code>, <code><a href="#tbody">tbody</a></code>,
- <code><a href="#tfoot0">tfoot</a></code>, <code><a
+ mode</span>, except that if the <a href="#current5">current node</a> is
+ a <code><a href="#table">table</a></code>, <code><a
+ href="#tbody">tbody</a></code>, <code><a
+ href="#tfoot0">tfoot</a></code>, <code><a
href="#thead0">thead</a></code>, or <code><a href="#tr">tr</a></code>
element, then, whenever a node would be inserted into the <a
- href="#current5">current node</a>, it must instead be inserted into the
- <i><a href="#foster">foster parent element</a></i>, and the <a
- href="#current6">current table</a> must be marked as <dfn
- id=tainted>tainted</dfn>. (Once the <a href="#current6">current
- table</a> has been <a href="#tainted">tainted</a>, whitespace characters
- are inserted into the <i><a href="#foster">foster parent element</a></i>
- instead of the <a href="#current5">current node</a>.)</p>
-
- <p>The <dfn id=foster>foster parent element</dfn> is the parent element
- of the last <code><a href="#table">table</a></code> element in the <a
- href="#stack">stack of open elements</a>, if there is a <code><a
- href="#table">table</a></code> element and it has such a parent element.
- If there is no <code><a href="#table">table</a></code> element in the <a
- href="#stack">stack of open elements</a> (<a href="#fragment">fragment
- case</a>), then the <em><a href="#foster">foster parent element</a></em>
- is the first element in the <a href="#stack">stack of open elements</a>
- (the <code><a href="#html">html</a></code> element). Otherwise, if there
- is a <code><a href="#table">table</a></code> element in the <a
- href="#stack">stack of open elements</a>, but the last <code><a
- href="#table">table</a></code> element in the <a href="#stack">stack of
- open elements</a> has no parent, or its parent node is not an element,
- then the <em><a href="#foster">foster parent element</a></em> is the
- element before the last <code><a href="#table">table</a></code> element
- in the <a href="#stack">stack of open elements</a>.</p>
-
- <p>If the <i><a href="#foster">foster parent element</a></i> is the
- parent element of the last <code><a href="#table">table</a></code>
- element in the <a href="#stack">stack of open elements</a>, then the new
- node must be inserted immediately <em>before</em> the last <code><a
- href="#table">table</a></code> element in the <a href="#stack">stack of
- open elements</a> in the <i><a href="#foster">foster parent
- element</a></i>; otherwise, the new node must be <em>appended</em> to
- the <i><a href="#foster">foster parent element</a></i>.</p>
+ href="#current5">current node</a>, it must instead be <a href="#foster0"
+ title="foster parent">foster parented</a>.</p>
</dl>
<p>When the steps above require the UA to <dfn id=clear2>clear the stack
@@ -47120,7 +47122,7 @@
href="#html">html</a></code> element after this process is a <a
href="#fragment">fragment case</a>.
- <h5 id=parsing-main-incaption><span class=secno>8.2.5.11. </span>The "<dfn
+ <h5 id=parsing-main-incaption><span class=secno>8.2.5.12. </span>The "<dfn
id=in-caption title="insertion mode: in caption">in caption</dfn>"
insertion mode</h5>
@@ -47183,7 +47185,7 @@
<span>insertion mode</span>.</p>
</dl>
- <h5 id=parsing-main-incolgroup><span class=secno>8.2.5.12. </span>The "<dfn
+ <h5 id=parsing-main-incolgroup><span class=secno>8.2.5.13. </span>The "<dfn
id=in-column title="insertion mode: in column group">in column
group</dfn>" insertion mode</h5>
@@ -47268,7 +47270,7 @@
href="#fragment">fragment case</a>.</p>
</dl>
- <h5 id=parsing-main-intbody><span class=secno>8.2.5.13. </span>The "<dfn
+ <h5 id=parsing-main-intbody><span class=secno>8.2.5.14. </span>The "<dfn
id=in-table0 title="insertion mode: in table body">in table body</dfn>"
insertion mode</h5>
@@ -47358,7 +47360,7 @@
href="#html">html</a></code> element after this process is a <a
href="#fragment">fragment case</a>.
- <h5 id=parsing-main-intr><span class=secno>8.2.5.14. </span>The "<dfn
+ <h5 id=parsing-main-intr><span class=secno>8.2.5.15. </span>The "<dfn
id=in-row title="insertion mode: in row">in row</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#in-row"
@@ -47447,7 +47449,7 @@
href="#html">html</a></code> element after this process is a <a
href="#fragment">fragment case</a>.
- <h5 id=parsing-main-intd><span class=secno>8.2.5.15. </span>The "<dfn
+ <h5 id=parsing-main-intd><span class=secno>8.2.5.16. </span>The "<dfn
id=in-cell title="insertion mode: in cell">in cell</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<a href="#in-cell"
@@ -47548,7 +47550,7 @@
neither when the <span>insertion mode</span> is "<a href="#in-cell"
title="insertion mode: in cell">in cell</a>".
- <h5 id=parsing-main-inselect><span class=secno>8.2.5.16. </span>The "<dfn
+ <h5 id=parsing-main-inselect><span class=secno>8.2.5.17. </span>The "<dfn
id=in-select title="insertion mode: in select">in select</dfn>" insertion
mode</h5>
@@ -47670,7 +47672,7 @@
<p><a href="#parse1">Parse error</a>. Ignore the token.</p>
</dl>
- <h5 id=parsing-main-inselectintable><span class=secno>8.2.5.17. </span>The
+ <h5 id=parsing-main-inselectintable><span class=secno>8.2.5.18. </span>The
"<dfn id=in-select0 title="insertion mode: in select in table">in select
in table</dfn>" insertion mode</h5>
@@ -47706,7 +47708,7 @@
<span>insertion mode</span>.</p>
</dl>
- <h5 id=parsing-main-inforeign><span class=secno>8.2.5.18. </span>The "<dfn
+ <h5 id=parsing-main-inforeign><span class=secno>8.2.5.19. </span>The "<dfn
id=in-foreign title="insertion mode: in foreign content">in foreign
content</dfn>" insertion mode</h5>
@@ -47868,7 +47870,7 @@
flag">acknowledge the token's <i>self-closing flag</i></a>.</p>
</dl>
- <h5 id=parsing-main-afterbody><span class=secno>8.2.5.19. </span>The "<dfn
+ <h5 id=parsing-main-afterbody><span class=secno>8.2.5.20. </span>The "<dfn
id=after5 title="insertion mode: after body">after body</dfn>" insertion
mode</h5>
@@ -47932,7 +47934,7 @@
body</a>" and reprocess the token.</p>
</dl>
- <h5 id=parsing-main-inframeset><span class=secno>8.2.5.20. </span>The "<dfn
+ <h5 id=parsing-main-inframeset><span class=secno>8.2.5.21. </span>The "<dfn
id=in-frameset title="insertion mode: in frameset">in frameset</dfn>"
insertion mode</h5>
@@ -48027,7 +48029,7 @@
<p><a href="#parse1">Parse error</a>. Ignore the token.</p>
</dl>
- <h5 id=parsing-main-afterframeset><span class=secno>8.2.5.21. </span>The
+ <h5 id=parsing-main-afterframeset><span class=secno>8.2.5.22. </span>The
"<dfn id=after6 title="insertion mode: after frameset">after
frameset</dfn>" insertion mode</h5>
@@ -48087,7 +48089,7 @@
that do support frames but want to show the NOFRAMES content. Supporting
the former is easy; supporting the latter is harder.
- <h5 id=the-after0><span class=secno>8.2.5.22. </span>The "<dfn id=after7
+ <h5 id=the-after0><span class=secno>8.2.5.23. </span>The "<dfn id=after7
title="insertion mode: after after body">after after body</dfn>" insertion
mode</h5>
@@ -48129,7 +48131,7 @@
body</a>" and reprocess the token.</p>
</dl>
- <h5 id=the-after1><span class=secno>8.2.5.23. </span>The "<dfn id=after8
+ <h5 id=the-after1><span class=secno>8.2.5.24. </span>The "<dfn id=after8
title="insertion mode: after after frameset">after after frameset</dfn>"
insertion mode</h5>
Modified: source
===================================================================
--- source 2008-05-24 01:54:50 UTC (rev 1690)
+++ source 2008-05-24 08:44:20 UTC (rev 1691)
@@ -42223,6 +42223,44 @@
above steps as if that element was not in the above list.</p>
+ <h5>Foster parenting</h5>
+
+ <p>Foster parenting happens when content is misnested in tables.</p>
+
+ <p>When a node <var title="">node</var> is to be <dfn title="foster
+ parent">foster parented</dfn>, the node <var title="">node</var>
+ must be inserted into the <i>foster parent element</i>, and the
+ <span>current table</span> must be marked as
+ <dfn>tainted</dfn>. (Once the <span>current table</span> has been
+ <span>tainted</span>, whitespace characters are inserted into the
+ <i>foster parent element</i> instead of the <span>current
+ node</span>.)</p>
+
+ <p>The <dfn>foster parent element</dfn> is the parent element of the
+ last <code>table</code> element in the <span>stack of open
+ elements</span>, if there is a <code>table</code> element and it has
+ such a parent element. If there is no <code>table</code> element in
+ the <span>stack of open elements</span> (<span>fragment
+ case</span>), then the <em>foster parent element</em> is the first
+ element in the <span>stack of open elements</span> (the
+ <code>html</code> element). Otherwise, if there is a
+ <code>table</code> element in the <span>stack of open
+ elements</span>, but the last <code>table</code> element in the
+ <span>stack of open elements</span> has no parent, or its parent
+ node is not an element, then the <em>foster parent element</em> is
+ the element before the last <code>table</code> element in the
+ <span>stack of open elements</span>.</p>
+
+ <p>If the <i>foster parent element</i> is the parent element of the
+ last <code>table</code> element in the <span>stack of open
+ elements</span>, then <var title="">node</var> must be inserted
+ immediately <em>before</em> the last <code>table</code> element in
+ the <span>stack of open elements</span> in the <i>foster parent
+ element</i>; otherwise, <var title="">node</var> must be
+ <em>appended</em> to the <i>foster parent element</i>.</p>
+
+
+
<h5>The "<dfn title="insertion mode: initial">initial</dfn>" insertion mode</h5>
<p>When the <span>insertion mode</span> is "<span title="insertion
@@ -43603,17 +43641,9 @@
<p>If the <var title="">common ancestor</var> node is a
<code>table</code>, <code>tbody</code>, <code>tfoot</code>,
- <code>thead</code>, or <code>tr</code> element, then, insert
- whatever <var title="">last node</var> ended up being in the
- previous step into the <i>foster parent element</i>. If the
- <i>foster parent element</i> is the parent element of the last
- <code>table</code> element in the <span>stack of open
- elements</span>, then <var title="">last node</var> must be
- inserted immediately <em>before</em> the last <code>table</code>
- element in the <span>stack of open elements</span> in the
- <i>foster parent element</i>; otherwise, <var title="">last
- node</var> must be <em>appended</em> to the <i>foster parent
- element</i>.</p>
+ <code>thead</code>, or <code>tr</code> element, then,
+ <span>foster parent</span> whatever <var title="">last
+ node</var> ended up being in the previous step.</p>
<p>Otherwise, append whatever <var title="">last node</var>
ended up being in the previous step to the <var title="">common
@@ -44295,43 +44325,13 @@
<p><span>Parse error</span>. Process the token <span>using the
rules for</span> the "<span title="insertion mode: in body">in
- body</span>" <span>insertion mode</span>, with the following
- exception:</p>
-
- <p>If the <span>current node</span> is a <code>table</code>,
+ body</span>" <span>insertion mode</span>, except that if the
+ <span>current node</span> is a <code>table</code>,
<code>tbody</code>, <code>tfoot</code>, <code>thead</code>, or
<code>tr</code> element, then, whenever a node would be inserted
- into the <span>current node</span>, it must instead be inserted
- into the <i>foster parent element</i>, and the <span>current
- table</span> must be marked as <dfn>tainted</dfn>. (Once the
- <span>current table</span> has been <span>tainted</span>,
- whitespace characters are inserted into the <i>foster parent
- element</i> instead of the <span>current node</span>.)</p>
+ into the <span>current node</span>, it must instead be <span
+ title="foster parent">foster parented</span>.</p>
- <p>The <dfn>foster parent element</dfn> is the parent element
- of the last <code>table</code> element in the <span>stack of
- open elements</span>, if there is a <code>table</code> element
- and it has such a parent element. If there is no
- <code>table</code> element in the <span>stack of open
- elements</span> (<span>fragment case</span>), then the
- <em>foster parent element</em> is the first element in the
- <span>stack of open elements</span> (the <code>html</code>
- element). Otherwise, if there is a <code>table</code> element
- in the <span>stack of open elements</span>, but the last
- <code>table</code> element in the <span>stack of open
- elements</span> has no parent, or its parent node is not an
- element, then the <em>foster parent element</em> is the
- element before the last <code>table</code> element in the
- <span>stack of open elements</span>.</p>
-
- <p>If the <i>foster parent element</i> is the parent element of
- the last <code>table</code> element in the <span>stack of open
- elements</span>, then the new node must be inserted immediately
- <em>before</em> the last <code>table</code> element in the
- <span>stack of open elements</span> in the <i>foster parent
- element</i>; otherwise, the new node must be <em>appended</em> to
- the <i>foster parent element</i>.</p>
-
</dd>
</dl>
More information about the Commit-Watchers
mailing list