[html5] r1376 - /
whatwg at whatwg.org
whatwg at whatwg.org
Thu Mar 20 16:38:10 PDT 2008
Author: ianh
Date: 2008-03-20 16:38:10 -0700 (Thu, 20 Mar 2008)
New Revision: 1376
Modified:
index
source
Log:
[e] (0) Tables: rewrite the table model algorithms to be zero-index-based instead of 1-based; add a bunch of acknowledgements for people who have done research on tables (the fruit of their labour will affect future checkins).
Modified: index
===================================================================
--- index 2008-03-18 22:13:11 UTC (rev 1375)
+++ index 2008-03-20 23:38:10 UTC (rev 1376)
@@ -24,7 +24,7 @@
<h1 id=html-5>HTML 5</h1>
- <h2 class="no-num no-toc" id=working>Working Draft — 18 March 2008</h2>
+ <h2 class="no-num no-toc" id=working>Working Draft — 20 March 2008</h2>
<p>You can take part in this work. <a
href="http://www.whatwg.org/mailing-list">Join the working group's
@@ -20105,14 +20105,15 @@
<var title="">y</var>). The grid is finite, and is either empty or has one
or more slots. If the grid has one or more slots, then the <var
title="">x</var> coordinates are always in the range
- <span>1 ≤ <var title="">x</var> ≤ <var
- title="">x<sub title="">max</sub></var></span>, and the <var
+ <span>0 ≤ <var title="">x</var> < <var
+ title="">x<sub title="">width</sub></var></span>, and the <var
title="">y</var> coordinates are always in the range
- <span>1 ≤ <var title="">y</var> ≤ <var
- title="">y<sub title="">max</sub></var></span>. If one or both of <var
- title="">x<sub title="">max</sub></var> and <var title="">y<sub
- title="">max</sub></var> are zero, then the table is empty (has no slots).
- Tables correspond to <code><a href="#table">table</a></code> elements.
+ <span>0 ≤ <var title="">y</var> < <var
+ title="">y<sub title="">height</sub></var></span>. If one or both of <var
+ title="">x<sub title="">width</sub></var> and <var title="">y<sub
+ title="">height</sub></var> are zero, then the table is empty (has no
+ slots). Tables correspond to <code><a href="#table">table</a></code>
+ elements.
<p>A <dfn id=cell title=concept-cell>cell</dfn> is a set of slots anchored
at a slot (<var title="">cell<sub title="">x</sub></var>, <var
@@ -20125,32 +20126,32 @@
title="">x</sub></var>+<var title="">width</var></span> and <span><var
title="">cell<sub title="">y</sub></var> ≤ <var
title="">y</var> < <var title="">cell<sub
- title="">y</sub></var>+<var title="">height</var></span>. Cell can either
+ title="">y</sub></var>+<var title="">height</var></span>. Cells can either
be <em>data cells</em> or <em>header cells</em>. Data cells correspond to
<code><a href="#td">td</a></code> elements, and have zero or more
associated header cells. Header cells correspond to <code><a
href="#th">th</a></code> elements.
<p>A <dfn id=row0 title=concept-row>row</dfn> is a complete set of slots
- from <span><var title="">x</var>=1</span> to <span><var
- title="">x</var>=<var title="">x<sub title="">max</sub></var></span>, for
- a particular value of <var title="">y</var>. Rows correspond to <code><a
- href="#tr">tr</a></code> elements.
+ from <span><var title="">x</var>=0</span> to <span><var
+ title="">x</var>=<var title="">x<sub title="">width</sub></var>-1</span>,
+ for a particular value of <var title="">y</var>. Rows correspond to
+ <code><a href="#tr">tr</a></code> elements.
<p>A <dfn id=column title=concept-column>column</dfn> is a complete set of
- slots from <span><var title="">y</var>=1</span> to <span><var
- title="">y</var>=<var title="">y<sub title="">max</sub></var></span>, for
- a particular value of <var title="">x</var>. Columns can correspond to
+ slots from <span><var title="">y</var>=0</span> to <span><var
+ title="">y</var>=<var title="">y<sub title="">height</sub></var>-1</span>,
+ for a particular value of <var title="">x</var>. Columns can correspond to
<code><a href="#col">col</a></code> elements, but in the absense of
<code><a href="#col">col</a></code> elements are implied.
<p>A <dfn id=row-group title=concept-row-group>row group</dfn> is a set of
- <a href="#row0" title=concept-row>rows</a> anchored at a slot (1, <var
+ <a href="#row0" title=concept-row>rows</a> anchored at a slot (0, <var
title="">group<sub title="">y</sub></var>) with a particular <var
title="">height</var> such that the row group covers all the slots with
coordinates (<var title="">x</var>, <var title="">y</var>) where
- <span>1 ≤ <var title="">x</var> < <var
- title="">x<sub title="">max</sub></var></span> and <span><var
+ <span>0 ≤ <var title="">x</var> < <var
+ title="">x<sub title="">width</sub></var>-1</span> and <span><var
title="">group<sub title="">y</sub></var> ≤ <var
title="">y</var> < <var title="">group<sub
title="">y</sub></var>+<var title="">height</var></span>. Row groups
@@ -20161,16 +20162,16 @@
<p>A <dfn id=column0 title=concept-column-group>column group</dfn> is a set
of <a href="#column" title=concept-column>columns</a> anchored at a slot
- (<var title="">group<sub title="">x</sub></var>, 1) with a particular <var
+ (<var title="">group<sub title="">x</sub></var>, 0) with a particular <var
title="">width</var> such that the column group covers all the slots with
coordinates (<var title="">x</var>, <var title="">y</var>) where
<span><var title="">group<sub title="">x</sub></var> ≤ <var
title="">x</var> < <var title="">group<sub
title="">x</sub></var>+<var title="">width</var></span> and
- <span>1 ≤ <var title="">y</var> < <var
- title="">y<sub title="">max</sub></var></span>. Column groups correspond
- to <code><a href="#colgroup">colgroup</a></code> elements. Not every
- column is necessarily in a column group.
+ <span>0 ≤ <var title="">y</var> < <var
+ title="">y<sub title="">height</sub></var>-1</span>. Column groups
+ correspond to <code><a href="#colgroup">colgroup</a></code> elements. Not
+ every column is necessarily in a column group.
<p><a href="#row-group" title=concept-row-group>Row groups</a> cannot
overlap each other. Similarly, <a href="#column0"
@@ -20202,29 +20203,30 @@
<p>To determine which elements correspond to which slots in a <a
href="#table1" title=concept-table>table</a> associated with a <code><a
href="#table">table</a></code> element, to determine the dimensions of the
- table (<var title="">x<sub title="">max</sub></var> and <var
- title="">y<sub title="">max</sub></var>), and to determine if there are
+ table (<var title="">x<sub title="">width</sub></var> and <var
+ title="">y<sub title="">height</sub></var>), and to determine if there are
any <a href="#table2" title="table model error">table model errors</a>,
user agents must use the following algorithm:
<ol>
<li>
- <p>Let <var title="">x<sub title="">max</sub></var> be zero.</p>
+ <p>Let <var title="">x<sub title="">width</sub></var> be zero.</p>
<li>
- <p>Let <var title="">y<sub title="">max</sub></var> be zero.</p>
+ <p>Let <var title="">y<sub title="">height</sub></var> be zero.</p>
<li>
<p>Let <var title="">the table</var> be the <a href="#table1"
title=concept-table>table</a> represented by the <code><a
href="#table">table</a></code> element. The <var title="">x<sub
- title="">max</sub></var> and <var title="">y<sub
- title="">max</sub></var> variables give <var title="">the table</var>'s
- extent. <var title="">The table</var> is initially empty.</p>
+ title="">width</sub></var> and <var title="">y<sub
+ title="">height</sub></var> variables give <var title="">the
+ table</var>'s dimensions. <var title="">The table</var> is initially
+ empty.</p>
<li>
- <p>If the <code><a href="#table">table</a></code> element has no table
- children, then return <var title="">the table</var> (which will be
+ <p>If the <code><a href="#table">table</a></code> element has no children
+ elements, then return <var title="">the table</var> (which will be
empty), and abort these steps.</p>
<li>
@@ -20232,15 +20234,18 @@
of the <code><a href="#table">table</a></code> element.</p>
<p>If a step in this algorithm ever requires the <var title="">current
- element</var> to be advanced to the next child of the <code><a
- href="#table">table</a></code> when there is no such next child, then
- the algorithm must be aborted at that point and the algorithm must
- return <var title="">the table</var>.</p>
+ element</var> to be <dfn id=advanced
+ title=concept-table-advance>advanced to the next child of the
+ <code>table</code></dfn> when there is no such next child, then the
+ algorithm must be aborted at that point and the algorithm must return
+ <var title="">the table</var>.</p>
<li>
<p>While the <var title="">current element</var> is not one of the
- following elements, advance the <var title="">current element</var> to
- the next child of the <code><a href="#table">table</a></code>:</p>
+ following elements, <a href="#advanced"
+ title=concept-table-advance>advance</a> the <var title="">current
+ element</var> to the next child of the <code><a
+ href="#table">table</a></code>:</p>
<ul class=brief>
<li><code><a href="#caption0">caption</a></code>
@@ -20266,9 +20271,10 @@
<li>
<p>If the <var title="">current element</var> is a <code><a
href="#caption0">caption</a></code>, then while the <var
- title="">current element</var> is not one of the following elements,
- advance the <var title="">current element</var> to the next child of the
- <code><a href="#table">table</a></code>:</p>
+ title="">current element</var> is not one of the following elements, <a
+ href="#advanced" title=concept-table-advance>advance</a> the <var
+ title="">current element</var> to the next child of the <code><a
+ href="#table">table</a></code>:</p>
<ul class=brief>
<li><code><a href="#colgroup">colgroup</a></code>
@@ -20305,7 +20311,8 @@
<ol>
<li>
<p>Let <var title="">x<sub title="">start</sub></var> have the
- value <span><var title="">x<sub title="">max</sub></var>+1</span>.</p>
+ value of <span><var title="">x<sub
+ title="">width</sub></var></span>.</p>
<li>
<p>Let the <var title="">current column</var> be the first <code><a
@@ -20328,7 +20335,7 @@
an error, then let <var title="">span</var> be 1.</p>
<li>
- <p>Increase <var title="">x<sub title="">max</sub></var> by <var
+ <p>Increase <var title="">x<sub title="">width</sub></var> by <var
title="">span</var>.</p>
<li>
@@ -20350,12 +20357,12 @@
<p>Let all the last <a href="#column"
title=concept-column>columns</a> in <var title="">the table</var>
from <span>x=<var title="">x<sub title="">start</sub></var></span>
- to <span>x=<var title="">x<sub title="">max</sub></var></span>
+ to <span>x=<var title="">x<sub title="">width</sub></var>-1</span>
form a new <a href="#column0" title=concept-column-group>column
group</a>, anchored at the slot (<var title="">x<sub
- title="">start</sub></var>, 1), with width <var title="">x<sub
- title="">max</sub></var>-<var title="">x<sub
- title="">start</sub></var>-1, corresponding to the <code><a
+ title="">start</sub></var>, 0), with width <span><var
+ title="">x<sub title="">width</sub></var>-<var title="">x<sub
+ title="">start</sub></var></span>, corresponding to the <code><a
href="#colgroup">colgroup</a></code> element.</p>
</ol>
@@ -20380,28 +20387,31 @@
title="">span</var> be 1.</p>
<li>
- <p>Increase <var title="">x<sub title="">max</sub></var> by <var
+ <p>Increase <var title="">x<sub title="">width</sub></var> by <var
title="">span</var>.</p>
<li>
<p>Let the last <var title="">span</var> <a href="#column"
title=concept-column>columns</a> in <var title="">the table</var>
form a new <a href="#column0" title=concept-column-group>column
- group</a>, anchored at the slot (<var title="">x<sub
- title="">max</sub></var>-<var title="">span</var>+1, 1), with
- width <var title="">span</var>, corresponding to the <code><a
+ group</a>, anchored at the slot (<span><var title="">x<sub
+ title="">width</sub></var>-<var title="">span</var></span>, 0),
+ with width <var title="">span</var>, corresponding to the <code><a
href="#colgroup">colgroup</a></code> element.</p>
</ol>
</dl>
<li>
- <p>Advance the <var title="">current element</var> to the next child of
- the <code><a href="#table">table</a></code>.</p>
+ <p><a href="#advanced" title=concept-table-advance>Advance</a> the <var
+ title="">current element</var> to the next child of the <code><a
+ href="#table">table</a></code>.</p>
<li>
<p>While the <var title="">current element</var> is not one of the
- following elements, advance the <var title="">current element</var> to
- the next child of the <code><a href="#table">table</a></code>:</p>
+ following elements, <a href="#advanced"
+ title=concept-table-advance>advance</a> the <var title="">current
+ element</var> to the next child of the <code><a
+ href="#table">table</a></code>:</p>
<ul class=brief>
<li><code><a href="#colgroup">colgroup</a></code>
@@ -20425,8 +20435,8 @@
<p>Let <var title="">y<sub title="">current</sub></var> be zero. When the
algorithm is aborted, if <var title="">y<sub
title="">current</sub></var> does not equal <var title="">y<sub
- title="">max</sub></var>, then that is a <a href="#table2">table model
- error</a>.</p>
+ title="">height</sub></var>, then that is a <a href="#table2">table
+ model error</a>.</p>
<li>
<p>Let the <var title="">list of downward-growing cells</var> be an empty
@@ -20434,7 +20444,8 @@
<li>
<p><em>Rows.</em> While the <var title="">current element</var> is not
- one of the following elements, advance the <var title="">current
+ one of the following elements, <a href="#advanced"
+ title=concept-table-advance>advance</a> the <var title="">current
element</var> to the next child of the <code><a
href="#table">table</a></code>:</p>
@@ -20459,8 +20470,8 @@
group</a>.</p>
<li>
- <p>Let <var title="">y<sub title="">start</sub></var> have the value
- <span><var title="">y<sub title="">max</sub></var>+1</span>.</p>
+ <p>Let <var title="">y<sub title="">start</sub></var> have the value of
+ <var title="">y<sub title="">height</sub></var>.</p>
<li>
<p>For each <code><a href="#tr">tr</a></code> element that is a child of
@@ -20469,17 +20480,17 @@
<li> <!-- if we added any rows, make them part of a row group -->
<p>If <span><var title="">y<sub
- title="">max</sub></var> ≥ <var title="">y<sub
+ title="">height</sub></var> > <var title="">y<sub
title="">start</sub></var></span>, then let all the last <a href="#row0"
title=concept-row>rows</a> in <var title="">the table</var> from
<span>y=<var title="">y<sub title="">start</sub></var></span> to
- <span>y=<var title="">y<sub title="">max</sub></var></span> form a new
- <a href="#row-group" title=concept-row-group>row group</a>, anchored at
- the slot with coordinate (1, <var title="">y<sub
- title="">start</sub></var>), with height <var title="">y<sub
- title="">max</sub></var>-<var title="">y<sub
- title="">start</sub></var>+1, corresponding to the <var title="">current
- element</var>.</p>
+ <span>y=<var title="">y<sub title="">height</sub></var>-1</span> form a
+ new <a href="#row-group" title=concept-row-group>row group</a>, anchored
+ at the slot with coordinate (0, <var title="">y<sub
+ title="">start</sub></var>), with height <span><var title="">y<sub
+ title="">height</sub></var>-<var title="">y<sub
+ title="">start</sub></var></span>, corresponding to the <var
+ title="">current element</var>.</p>
<li>
<p>Run the <a href="#algorithm">algorithm for ending a row group</a>
@@ -20496,20 +20507,20 @@
<ol>
<li>
<p>If <var title="">y<sub title="">current</sub></var> is less than <var
- title="">y<sub title="">max</sub></var>, then this is a <a
+ title="">y<sub title="">height</sub></var>, then this is a <a
href="#table2">table model error</a>.</p>
<li>
<p>While <var title="">y<sub title="">current</sub></var> is less than
- <var title="">y<sub title="">max</sub></var>, follow these steps:</p>
+ <var title="">y<sub title="">height</sub></var>, follow these steps:</p>
<ol>
<li>
- <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
-
- <li>
<p>Run the <a href="#algorithm1">algorithm for growing downward-growing
cells</a>.</p>
+
+ <li>
+ <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
</ol>
<li>
@@ -20522,41 +20533,37 @@
<ol>
<li>
- <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
- <!-- ymax is increased below once we know cell dimensions -->
+ <p>If <var title="">y<sub title="">height</sub></var> is equal to <var
+ title="">y<sub title="">current</sub></var>, then increase <var
+ title="">y<sub title="">height</sub></var> by 1. (<var title="">y<sub
+ title="">current</sub></var> is never <em>greater</em> than <var
+ title="">y<sub title="">height</sub></var>.)</p>
<li>
- <p>Run the <a href="#algorithm1">algorithm for growing downward-growing
- cells</a>.</p>
+ <p>Let <var title="">x<sub title="">current</sub></var> be 0.</p>
<li>
- <p>Let <var title="">x<sub title="">current</sub></var> be 1.</p>
- <!-- xmax is increased below once we know cell dimensions -->
-
- <li>
- <p>If the <code><a href="#tr">tr</a></code> element being processed
- contains no <code><a href="#td">td</a></code> or <code><a
- href="#th">th</a></code> elements, then abort this set of steps and
- return to the algorithm above.</p>
-
- <li>
<p>Let <var title="">current cell</var> be the first <code><a
href="#td">td</a></code> or <code><a href="#th">th</a></code> element in
the <code><a href="#tr">tr</a></code> element being processed.</p>
<li>
+ <p>Run the <a href="#algorithm1">algorithm for growing downward-growing
+ cells</a>.</p>
+
+ <li>
<p><em>Cells.</em> While <var title="">x<sub title="">current</sub></var>
- is less than or equal to <var title="">x<sub title="">max</sub></var>
- and the slot with coordinate (<var title="">x<sub
- title="">current</sub></var>, <var title="">y<sub
- title="">current</sub></var>) already has a cell assigned to it,
- increase <var title="">x<sub title="">current</sub></var> by 1.</p>
+ is less than <var title="">x<sub title="">width</sub></var> and the slot
+ with coordinate (<var title="">x<sub title="">current</sub></var>, <var
+ title="">y<sub title="">current</sub></var>) already has a cell assigned
+ to it, increase <var title="">x<sub title="">current</sub></var> by 1.</p>
<li>
- <p>If <var title="">x<sub title="">current</sub></var> is greater than
- <var title="">x<sub title="">max</sub></var>, increase <var
- title="">x<sub title="">max</sub></var> by 1 (which will make them
- equal).</p>
+ <p>If <var title="">x<sub title="">current</sub></var> is equal to <var
+ title="">x<sub title="">width</sub></var>, increase <var title="">x<sub
+ title="">width</sub></var> by 1. (<var title="">x<sub
+ title="">current</sub></var> is never <em>greater</em> than <var
+ title="">x<sub title="">width</sub></var>.)</p>
<li>
<p>If the <var title="">current cell</var> has a <code
@@ -20583,17 +20590,19 @@
<li>
<p>If <span><var title="">x<sub
- title="">max</sub></var> < <var title="">x<sub
- title="">current</sub></var>+<var title="">colspan</var>-1</span>, then
- let <var title="">x<sub title="">max</sub></var> be <var title="">x<sub
- title="">current</sub></var>+<var title="">colspan</var>-1.</p>
+ title="">width</sub></var> < <var title="">x<sub
+ title="">current</sub></var>+<var title="">colspan</var></span>, then
+ let <var title="">x<sub title="">width</sub></var> be <span><var
+ title="">x<sub title="">current</sub></var>+<var
+ title="">colspan</var></span>.</p>
<li>
<p>If <span><var title="">y<sub
- title="">max</sub></var> < <var title="">y<sub
- title="">current</sub></var>+<var title="">rowspan</var>-1</span>, then
- let <var title="">y<sub title="">max</sub></var> be <var title="">y<sub
- title="">current</sub></var>+<var title="">rowspan</var>-1.</p>
+ title="">height</sub></var> < <var title="">y<sub
+ title="">current</sub></var>+<var title="">rowspan</var></span>, then
+ let <var title="">y<sub title="">height</sub></var> be <span><var
+ title="">y<sub title="">current</sub></var>+<var
+ title="">rowspan</var></span>.</p>
<li>
<p>Let the slots with coordinates (<var title="">x</var>, <var
@@ -20638,7 +20647,8 @@
<p>If <var title="">current cell</var> is the last <code><a
href="#td">td</a></code> or <code><a href="#th">th</a></code> element in
the <code><a href="#tr">tr</a></code> element being processed, then
- abort this set of steps and return to the algorithm above.</p>
+ increase <var title="">y<sub title="">current</sub></var> by 1, abort
+ this set of steps, and return to the algorithm above.</p>
<li>
<p>Let <var title="">current cell</var> be the next <code><a
@@ -20649,33 +20659,18 @@
<p>Return to step 5 (cells).</p>
</ol>
- <p>The <dfn id=algorithm1>algorithm for growing downward-growing
- cells</dfn>, used when adding a new row, is as follows:
+ <p>When the algorithms above require the user agent to run the <dfn
+ id=algorithm1>algorithm for growing downward-growing cells</dfn>, the user
+ agent must, for each {<var title="">cell</var>, <var title="">cell<sub
+ title="">x</sub></var>, <var title="">width</var>} tuple in the <var
+ title="">list of downward-growing cells</var>, if any, extend the <a
+ href="#cell" title=concept-cell>cell</a> <var title="">cell</var> so that
+ it also covers the slots with coordinates (<var title="">x</var>, <var
+ title="">y<sub title="">current</sub></var>), where <span><var
+ title="">cell<sub title="">x</sub></var> ≤ <var
+ title="">x</var> < <var title="">cell<sub
+ title="">x</sub></var>+<var title="">width</var></span>.
- <ol>
- <li>
- <p>If the <var title="">list of downward-growing cells</var> is empty, do
- nothing. Abort these steps; return to the step that invoked this
- algorithm.</p>
-
- <li>
- <p>Otherwise, if <var title="">y<sub title="">max</sub></var> is less
- than <var title="">y<sub title="">current</sub></var>, then increase
- <var title="">y<sub title="">max</sub></var> by 1 (this will make it
- equal to <var title="">y<sub title="">current</sub></var>).</p>
-
- <li>
- <p>For each {<var title="">cell</var>, <var title="">cell<sub
- title="">x</sub></var>, <var title="">width</var>} tuple in the <var
- title="">list of downward-growing cells</var>, extend the <a
- href="#cell" title=concept-cell>cell</a> <var title="">cell</var> so
- that it also covers the slots with coordinates (<var title="">x</var>,
- <var title="">y<sub title="">current</sub></var>), where <span><var
- title="">cell<sub title="">x</sub></var> ≤ <var
- title="">x</var> < <var title="">cell<sub
- title="">x</sub></var>+<var title="">width</var>-1</span>.</p>
- </ol>
-
<p>If, after establishing which elements correspond to which slots, there
exists a <a href="#column" title=concept-column>column</a> in the <a
href="#table1" title=concept-table>table</a> containing only <span
@@ -20723,7 +20718,7 @@
title="">data<sub title="">y</sub></var>) where <span><var
title="">header<sub title="">x</sub></var> < <var
title="">data<sub title="">x</sub></var> ≤ <var
- title="">x<sub title="">max</sub></var></span> and <span><var
+ title="">x<sub title="">width</sub></var></span> and <span><var
title="">data<sub title="">y</sub></var> = <var
title="">header<sub title="">y</sub></var></span>, except for any
data cells corresponding to <code><a href="#td">td</a></code>
@@ -20741,9 +20736,9 @@
title="">header<sub title="">x</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> < <var
title="">data<sub title="">y</sub></var> ≤ <var
- title="">y<sub title="">max</sub></var></span>, except for any data
- cells corresponding to <code><a href="#td">td</a></code> elements
- that have a <code title=attr-td-headers><a
+ title="">y<sub title="">height</sub></var></span>, except for any
+ data cells corresponding to <code><a href="#td">td</a></code>
+ elements that have a <code title=attr-td-headers><a
href="#headers">headers</a></code> attribute specified.</p>
<dt>If it is in the <em title=attr-th-scope-rowgroup><a
@@ -20762,7 +20757,7 @@
title="">data<sub title="">y</sub></var>) where <span><var
title="">header<sub title="">x</sub></var> ≤ <var
title="">data<sub title="">x</sub></var> ≤ <var
- title="">x<sub title="">max</sub></var></span> and <span><var
+ title="">x<sub title="">width</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> ≤ <var
title="">data<sub title="">y</sub></var> < <var
title="">group<sub title="">y</sub></var>+<var
@@ -20791,7 +20786,7 @@
title="">width</var></span> and <span><var title="">header<sub
title="">y</sub></var> ≤ <var title="">data<sub
title="">y</sub></var> ≤ <var title="">y<sub
- title="">max</sub></var></span>, except for any data cells
+ title="">height</sub></var></span>, except for any data cells
corresponding to <code><a href="#td">td</a></code> elements that
have a <code title=attr-td-headers><a
href="#headers">headers</a></code> attribute specified.</p>
@@ -20814,9 +20809,9 @@
title="">header<sub title="">x</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> < <var
title="">data<sub title="">y</sub></var> ≤ <var
- title="">y<sub title="">max</sub></var></span>, except for any data
- cells corresponding to <code><a href="#td">td</a></code> elements
- that have a <code title=attr-td-headers><a
+ title="">y<sub title="">height</sub></var></span>, except for any
+ data cells corresponding to <code><a href="#td">td</a></code>
+ elements that have a <code title=attr-td-headers><a
href="#headers">headers</a></code> attribute specified.</p>
<p>Otherwise, the header cell is in the first column of the table;
@@ -20825,7 +20820,7 @@
title="">data<sub title="">y</sub></var>) where <span><var
title="">header<sub title="">x</sub></var> < <var
title="">data<sub title="">x</sub></var> ≤ <var
- title="">x<sub title="">max</sub></var></span> and <span><var
+ title="">x<sub title="">width</sub></var></span> and <span><var
title="">data<sub title="">y</sub></var> = <var
title="">header<sub title="">y</sub></var></span>, except for any
data cells corresponding to <code><a href="#td">td</a></code>
@@ -47162,18 +47157,19 @@
<h2 class=no-num id=acknowledgements>Acknowledgements</h2>
<p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben, Addison
- Phillips, Adrian Sutton, Agustín Fernández, Alexey
- Feldgendler, Andrew Gove, Andrew Sidwell, Anne van Kesteren, Anthony
- Hickson, Antti Koivisto, Arphen Lin, Asbjørn Ulsberg, Ben Godfrey,
- Ben Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern
- Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson, Brendan
- Eich, Brett Wilson, Brian Campbell, Brian Smith, Cameron McCormack, Carlos
+ Phillips, Adrian Sutton, Agustín Fernández, Alastair
+ Campbell, Alexey Feldgendler, Andrew Gove, Andrew Sidwell, Anne van
+ Kesteren, Anthony Hickson, Antti Koivisto, Arphen Lin, Asbjørn
+ Ulsberg, Aurelien Levy, Ben Godfrey, Ben Meadowcroft, Ben Millard,
+ Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern Hoehrmann, Boris
+ Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson, Brendan Eich, Brett
+ Wilson, Brian Campbell, Brian Smith, Cameron McCormack, Carlos
Perelló Marín, Chao Cai, 윤석찬 (Channy
Yun), Charl van Niekerk, Charles Iliya Krempeaux, Charles McCathieNevile,
Christian Biesinger, Christian Johansen, Chriswa, Collin Jackson, Daniel
Brumbaugh Keeney, Daniel Glazman, Daniel Peng, Daniel Spång, Darin
- Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on
- moz irc -->,
+ Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on moz
+ irc -->,
David Baron, David Flanagan, David Håsäther, David Hyatt, Derek
Featherstone, DeWitt Clinton, Dimitri Glazkov, dolphinling, Doron
Rosenberg, Doug Kramer, Eira Monstad, Elliotte Harold, Erik Arvidsson,
@@ -47182,31 +47178,34 @@
Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel Gonçalves, J.
King, James Graham, James M Snell, James Perrett, Jan-Klaas Kollhof, Jason
White, Jasper Bryant-Greene, Jeff Cutsinger, Jeff Walden, Jens Bannmann,
- Jens Fendler, Jeroen van der Meer, Jim Meehan, Joel Spolsky, John Boyer,
- John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow, Jonathan
- Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka K. Korpela,
- Kai Hendry, <!-- Keryx Web, = Lars Gunther --> Kornel Lesinski,
+ Jens Fendler, Jeroen van der Meer, Jim Meehan, Joe Clark, Joel Spolsky,
+ John Boyer, John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow,
+ Jonathan Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka K.
+ Korpela, Kai Hendry, <!-- Keryx Web, = Lars
+ Gunther --> Kornel Lesinski,
黒澤剛志 (KUROSAWA Takeshi), Kristof Zelechovski,
- Lachlan Hunt, Larry Page, Lars Gunther, Laurens Holst, Leif Halvard Silli,
- Lenny Domnitser, Léonard Bouchet, Leons Petrazickis,
- Logan<!-- on moz irc -->, Loune, Maciej Stachowiak, Malcolm Rowe, Mark
- Nottingham, Mark Rowe<!--bdash-->, Mark Schenk, Martijn Wargers, Martin
- Atkins, Martin Dürst, Martin Honnen, Mathieu Henri, Matthew
- Mastracci, Matthew Raymond, Matthew Thomas, Mattias Waldau, Max
- Romantschuk, Michael 'Ratt' Iannarelli, Michael A. Nachbaur, Michael A.
- Puls II<!--Shadow2531-->, Michael Gratton, Michael Powers, Michel Fortin,
- Michiel van der Blonk, Mihai Şucan<!-- from ROBO Design -->, Mike
- Brown, Mike Dierken<!-- S. Mike Dierken -->, Mike Dixon, Mike Schinkel,
- Mike Shaver, Mike Smith, Mikko Rantalainen, Neil Deakin, Olav Junker
- Kjær, Oliver Hunt, Peter Kasting, Philip Taylor, Rachid Finge, Rajas
- Moonka, Ralf Stoltze, Ralph Giles, Raphael Champeimont, Rimantas
- Liubertas, Robert O'Callahan, Robert Sayre, Roman Ivanov, S. Mike Dierken,
- Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp, Shaun Inman, Silvia
- Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma, Steve Runyon, Steven
- Garrity, Stewart Brodie, Stuart Parmenter, Tantek Çelik, Thomas
- Broyer, Thomas O'Connor, Tim Altman, Tyler Close, Vladimir
- Vukićević, Wakaba, William Swanson, and Øistein E.
- Andersen, for their useful and substantial comments.
+ Lachlan Hunt, Larry Page, Lars Gunther, Laura L. Carlson, Laura Wisewell,
+ Laurens Holst, Leif Halvard Silli, Lenny Domnitser, Léonard
+ Bouchet, Leons Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej
+ Stachowiak, Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->, Mark
+ Schenk, Martijn Wargers, Martin Atkins, Martin Dürst, Martin Honnen,
+ Mathieu Henri, Matthew Mastracci, Matthew Raymond, Matthew Thomas, Mattias
+ Waldau, Max Romantschuk, Michael 'Ratt' Iannarelli, Michael A. Nachbaur,
+ Michael A. Puls II<!--Shadow2531-->, Michael Gratton, Michael Powers,
+ Michel Fortin, Michiel van der Blonk, Mihai
+ Şucan<!-- from ROBO Design -->, Mike Brown, Mike Dierken<!--
+ S. Mike Dierken -->,
+ Mike Dixon, Mike Schinkel, Mike Shaver, Mike Smith, Mikko Rantalainen,
+ Neil Deakin, Olav Junker Kjær, Oliver Hunt, Peter Kasting, Philip
+ Taylor, Rachid Finge, Rajas Moonka, Ralf Stoltze, Ralph Giles, Raphael
+ Champeimont, Rimantas Liubertas, Robert O'Callahan, Robert Sayre, Roman
+ Ivanov, S. Mike Dierken, Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp,
+ Shaun Inman, Silvia Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma,
+ Steve Faulkner, Steve Runyon, Steven Garrity, Stewart Brodie, Stuart
+ Parmenter, Tantek Çelik, Terrence Wood, Thomas Broyer, Thomas
+ O'Connor, Tim Altman, Tyler Close, Vladimir Vukićević,
+ Wakaba, William Swanson, and Øistein E. Andersen, for their useful
+ and substantial comments.
<p>Thanks also to everyone who has ever posted about HTML5 to their blogs,
public mailing lists, or forums, including the <a
Modified: source
===================================================================
--- source 2008-03-18 22:13:11 UTC (rev 1375)
+++ source 2008-03-20 23:38:10 UTC (rev 1376)
@@ -17596,15 +17596,15 @@
title="">x</var>, <var title="">y</var>). The grid is finite, and is
either empty or has one or more slots. If the grid has one or more
slots, then the <var title="">x</var> coordinates are always in the
- range <span>1 ≤ <var
- title="">x</var> ≤ <var title="">x<sub
- title="">max</sub></var></span>, and the <var title="">y</var>
- coordinates are always in the range <span>1 ≤ <var
- title="">y</var> ≤ <var title="">y<sub
- title="">max</sub></var></span>. If one or both of <var
- title="">x<sub title="">max</sub></var> and <var title="">y<sub
- title="">max</sub></var> are zero, then the table is empty (has no
- slots). Tables correspond to <code>table</code> elements.</p>
+ range <span>0 ≤ <var
+ title="">x</var> < <var title="">x<sub
+ title="">width</sub></var></span>, and the <var title="">y</var>
+ coordinates are always in the range <span>0 ≤ <var
+ title="">y</var> < <var title="">y<sub
+ title="">height</sub></var></span>. If one or both of <var
+ title="">x<sub title="">width</sub></var> and <var title="">y<sub
+ title="">height</sub></var> are zero, then the table is empty (has
+ no slots). Tables correspond to <code>table</code> elements.</p>
<p>A <dfn title="concept-cell">cell</dfn> is a set of slots anchored
at a slot (<var title="">cell<sub title="">x</sub></var>, <var
@@ -17618,35 +17618,35 @@
<span><var title="">cell<sub
title="">y</sub></var> ≤ <var
title="">y</var> < <var title="">cell<sub
- title="">y</sub></var>+<var title="">height</var></span>. Cell can
+ title="">y</sub></var>+<var title="">height</var></span>. Cells can
either be <em>data cells</em> or <em>header cells</em>. Data cells
correspond to <code>td</code> elements, and have zero or more
associated header cells. Header cells correspond to <code>th</code>
elements.</p>
<p>A <dfn title="concept-row">row</dfn> is a complete set of slots
- from <span><var title="">x</var>=1</span> to <span><var
+ from <span><var title="">x</var>=0</span> to <span><var
title="">x</var>=<var title="">x<sub
- title="">max</sub></var></span>, for a particular value of <var
+ title="">width</sub></var>-1</span>, for a particular value of <var
title="">y</var>. Rows correspond to <code>tr</code> elements.</p>
<p>A <dfn title="concept-column">column</dfn> is a complete set of
- slots from <span><var title="">y</var>=1</span> to <span><var
+ slots from <span><var title="">y</var>=0</span> to <span><var
title="">y</var>=<var title="">y<sub
- title="">max</sub></var></span>, for a particular value of <var
+ title="">height</sub></var>-1</span>, for a particular value of <var
title="">x</var>. Columns can correspond to <code>col</code>
elements, but in the absense of <code>col</code> elements are
implied.</p>
<p>A <dfn title="concept-row-group">row group</dfn> is a set of
- <span title="concept-row">rows</span> anchored at a slot (1, <var
+ <span title="concept-row">rows</span> anchored at a slot (0, <var
title="">group<sub title="">y</sub></var>) with a particular <var
title="">height</var> such that the row group covers all the slots
with coordinates (<var title="">x</var>, <var title="">y</var>)
- where <span>1 ≤ <var
+ where <span>0 ≤ <var
title="">x</var> < <var title="">x<sub
- title="">max</sub></var></span> and <span><var title="">group<sub
- title="">y</sub></var> ≤ <var
+ title="">width</sub></var>-1</span> and <span><var
+ title="">group<sub title="">y</sub></var> ≤ <var
title="">y</var> < <var title="">group<sub
title="">y</sub></var>+<var title="">height</var></span>. Row groups
correspond to <code>tbody</code>, <code>thead</code>, and
@@ -17655,15 +17655,15 @@
<p>A <dfn title="concept-column-group">column group</dfn> is a set
of <span title="concept-column">columns</span> anchored at a slot
- (<var title="">group<sub title="">x</sub></var>, 1) with a
+ (<var title="">group<sub title="">x</sub></var>, 0) with a
particular <var title="">width</var> such that the column group
covers all the slots with coordinates (<var title="">x</var>, <var
title="">y</var>) where <span><var title="">group<sub
title="">x</sub></var> ≤ <var
title="">x</var> < <var title="">group<sub
title="">x</sub></var>+<var title="">width</var></span> and
- <span>1 ≤ <var title="">y</var> < <var
- title="">y<sub title="">max</sub></var></span>. Column groups
+ <span>0 ≤ <var title="">y</var> < <var
+ title="">y<sub title="">height</sub></var>-1</span>. Column groups
correspond to <code>colgroup</code> elements. Not every column is
necessarily in a column group.</p>
@@ -17697,36 +17697,36 @@
<p>To determine which elements correspond to which slots in a <span
title="concept-table">table</span> associated with a
<code>table</code> element, to determine the dimensions of the table
- (<var title="">x<sub title="">max</sub></var> and <var
- title="">y<sub title="">max</sub></var>), and to determine if there
- are any <span title="table model error">table model errors</span>,
- user agents must use the following algorithm:</p>
+ (<var title="">x<sub title="">width</sub></var> and <var
+ title="">y<sub title="">height</sub></var>), and to determine if
+ there are any <span title="table model error">table model
+ errors</span>, user agents must use the following algorithm:</p>
<ol>
<li>
- <p>Let <var title="">x<sub title="">max</sub></var> be zero.</p>
+ <p>Let <var title="">x<sub title="">width</sub></var> be zero.</p>
</li>
<li>
- <p>Let <var title="">y<sub title="">max</sub></var> be zero.</p>
+ <p>Let <var title="">y<sub title="">height</sub></var> be zero.</p>
</li>
<li>
<p>Let <var title="">the table</var> be the <span
title="concept-table">table</span> represented by the
<code>table</code> element. The <var title="">x<sub
- title="">max</sub></var> and <var title="">y<sub
- title="">max</sub></var> variables give <var title="">the
- table</var>'s extent. <var title="">The table</var> is initially
- empty.</p>
+ title="">width</sub></var> and <var title="">y<sub
+ title="">height</sub></var> variables give <var title="">the
+ table</var>'s dimensions. <var title="">The table</var> is
+ initially empty.</p>
</li>
<li>
- <p>If the <code>table</code> element has no table children, then
- return <var title="">the table</var> (which will be empty), and
- abort these steps.</p>
+ <p>If the <code>table</code> element has no children elements,
+ then return <var title="">the table</var> (which will be empty),
+ and abort these steps.</p>
</li>
@@ -17736,9 +17736,10 @@
element child of the <code>table</code> element.</p>
<p>If a step in this algorithm ever requires the <var
- title="">current element</var> to be advanced to the next child of
- the <code>table</code> when there is no such next child, then the
- algorithm must be aborted at that point and the algorithm must
+ title="">current element</var> to be <dfn
+ title="concept-table-advance">advanced to the next child of the
+ <code>table</code></dfn> when there is no such next child, then
+ the algorithm must be aborted at that point and the algorithm must
return <var title="">the table</var>.</p>
</li>
@@ -17746,8 +17747,10 @@
<li>
<p>While the <var title="">current element</var> is not one of the
- following elements, advance the <var title="">current
- element</var> to the next child of the <code>table</code>:</p>
+ following elements, <span
+ title="concept-table-advance">advance</span> the <var
+ title="">current element</var> to the next child of the
+ <code>table</code>:</p>
<ul class="brief">
<li><code>caption</code></li>
@@ -17773,8 +17776,9 @@
<p>If the <var title="">current element</var> is a
<code>caption</code>, then while the <var title="">current
- element</var> is not one of the following elements, advance the
- <var title="">current element</var> to the next child of the
+ element</var> is not one of the following elements, <span
+ title="concept-table-advance">advance</span> the <var
+ title="">current element</var> to the next child of the
<code>table</code>:</p>
<ul class="brief">
@@ -17817,8 +17821,8 @@
<li>
<p>Let <var title="">x<sub title="">start</sub></var> have
- the value <span><var title="">x<sub
- title="">max</sub></var>+1</span>.</p>
+ the value of <span><var title="">x<sub
+ title="">width</sub></var></span>.</p>
</li>
@@ -17850,7 +17854,7 @@
<li>
- <p>Increase <var title="">x<sub title="">max</sub></var> by
+ <p>Increase <var title="">x<sub title="">width</sub></var> by
<var title="">span</var>.</p>
</li>
@@ -17881,13 +17885,13 @@
title="concept-column">columns</span> in <var title="">the
table</var> from <span>x=<var title="">x<sub
title="">start</sub></var></span> to <span>x=<var
- title="">x<sub title="">max</sub></var></span> form a new
- <span title="concept-column-group">column group</span>,
+ title="">x<sub title="">width</sub></var>-1</span> form a
+ new <span title="concept-column-group">column group</span>,
anchored at the slot (<var title="">x<sub
- title="">start</sub></var>, 1), with width <var
- title="">x<sub title="">max</sub></var>-<var title="">x<sub
- title="">start</sub></var>-1, corresponding to the
- <code>colgroup</code> element.</p>
+ title="">start</sub></var>, 0), with width <span><var
+ title="">x<sub title="">width</sub></var>-<var
+ title="">x<sub title="">start</sub></var></span>,
+ corresponding to the <code>colgroup</code> element.</p>
</li>
@@ -17922,7 +17926,7 @@
<li>
- <p>Increase <var title="">x<sub title="">max</sub></var> by
+ <p>Increase <var title="">x<sub title="">width</sub></var> by
<var title="">span</var>.</p>
</li>
@@ -17933,10 +17937,10 @@
title="concept-column">columns</span> in <var title="">the
table</var> form a new <span
title="concept-column-group">column group</span>, anchored
- at the slot (<var title="">x<sub
- title="">max</sub></var>-<var title="">span</var>+1, 1),
- with width <var title="">span</var>, corresponding to the
- <code>colgroup</code> element.</p>
+ at the slot (<span><var title="">x<sub
+ title="">width</sub></var>-<var title="">span</var></span>,
+ 0), with width <var title="">span</var>, corresponding to
+ the <code>colgroup</code> element.</p>
</li>
@@ -17950,16 +17954,19 @@
<li>
- <p>Advance the <var title="">current element</var> to the next
- child of the <code>table</code>.</p>
+ <p><span title="concept-table-advance">Advance</span> the <var
+ title="">current element</var> to the next child of the
+ <code>table</code>.</p>
</li>
<li>
<p>While the <var title="">current element</var> is not one of
- the following elements, advance the <var title="">current
- element</var> to the next child of the <code>table</code>:</p>
+ the following elements, <span
+ title="concept-table-advance">advance</span> the <var
+ title="">current element</var> to the next child of the
+ <code>table</code>:</p>
<ul class="brief">
<li><code>colgroup</code></li>
@@ -17988,7 +17995,7 @@
<p>Let <var title="">y<sub title="">current</sub></var> be
zero. When the algorithm is aborted, if <var title="">y<sub
title="">current</sub></var> does not equal <var title="">y<sub
- title="">max</sub></var>, then that is a <span>table model
+ title="">height</sub></var>, then that is a <span>table model
error</span>.</p>
</li>
@@ -18003,7 +18010,8 @@
<li>
<p><em>Rows.</em> While the <var title="">current element</var> is
- not one of the following elements, advance the <var
+ not one of the following elements, <span
+ title="concept-table-advance">advance</span> the <var
title="">current element</var> to the next child of the
<code>table</code>:</p>
@@ -18035,8 +18043,7 @@
<li>
<p>Let <var title="">y<sub title="">start</sub></var> have the
- value <span><var title="">y<sub
- title="">max</sub></var>+1</span>.</p>
+ value of <var title="">y<sub title="">height</sub></var>.</p>
</li>
@@ -18052,16 +18059,17 @@
<!-- if we added any rows, make them part of a row group -->
<p>If <span><var title="">y<sub
- title="">max</sub></var> ≥ <var title="">y<sub
+ title="">height</sub></var> > <var title="">y<sub
title="">start</sub></var></span>, then let all the last <span
title="concept-row">rows</span> in <var title="">the table</var>
from <span>y=<var title="">y<sub title="">start</sub></var></span>
- to <span>y=<var title="">y<sub title="">max</sub></var></span>
- form a new <span title="concept-row-group">row group</span>,
- anchored at the slot with coordinate (1, <var title="">y<sub
- title="">start</sub></var>), with height <var title="">y<sub
- title="">max</sub></var>-<var title="">y<sub
- title="">start</sub></var>+1, corresponding to the <var
+ to <span>y=<var title="">y<sub
+ title="">height</sub></var>-1</span> form a new <span
+ title="concept-row-group">row group</span>, anchored at the slot
+ with coordinate (0, <var title="">y<sub
+ title="">start</sub></var>), with height <span><var title="">y<sub
+ title="">height</sub></var>-<var title="">y<sub
+ title="">start</sub></var></span>, corresponding to the <var
title="">current element</var>.</p>
</li>
@@ -18081,6 +18089,7 @@
</ol>
+
<p>The <dfn>algorithm for ending a row group</dfn>, which is invoked
by the set of steps above when starting and ending a block of rows,
is:</p>
@@ -18090,30 +18099,30 @@
<li>
<p>If <var title="">y<sub title="">current</sub></var> is less
- than <var title="">y<sub title="">max</sub></var>, then this is a
- <span>table model error</span>.</p>
+ than <var title="">y<sub title="">height</sub></var>, then this is
+ a <span>table model error</span>.</p>
</li>
<li>
<p>While <var title="">y<sub title="">current</sub></var> is less
- than <var title="">y<sub title="">max</sub></var>, follow these
+ than <var title="">y<sub title="">height</sub></var>, follow these
steps:</p>
<ol>
<li>
- <p>Increase <var title="">y<sub title="">current</sub></var> by
- 1.</p>
+ <p>Run the <span>algorithm for growing downward-growing
+ cells</span>.</p>
</li>
<li>
- <p>Run the <span>algorithm for growing downward-growing
- cells</span>.</p>
+ <p>Increase <var title="">y<sub title="">current</sub></var> by
+ 1.</p>
</li>
@@ -18130,6 +18139,7 @@
</ol>
+
<p>The <dfn>algorithm for processing rows</dfn>, which is invoked by
the set of steps above for processing <code>tr</code> elements,
is:</p>
@@ -18138,47 +18148,41 @@
<li>
- <p>Increase <var title="">y<sub title="">current</sub></var> by
- 1.</p>
- <!-- ymax is increased below once we know cell dimensions -->
+ <p>If <var title="">y<sub title="">height</sub></var> is equal to
+ <var title="">y<sub title="">current</sub></var>, then increase
+ <var title="">y<sub title="">height</sub></var> by 1. (<var
+ title="">y<sub title="">current</sub></var> is never
+ <em>greater</em> than <var title="">y<sub
+ title="">height</sub></var>.)</p>
</li>
<li>
- <p>Run the <span>algorithm for growing downward-growing
- cells</span>.</p>
+ <p>Let <var title="">x<sub title="">current</sub></var> be 0.</p>
</li>
<li>
- <p>Let <var title="">x<sub title="">current</sub></var> be 1.</p>
- <!-- xmax is increased below once we know cell dimensions -->
+ <p>Let <var title="">current cell</var> be the first
+ <code>td</code> or <code>th</code> element in the <code>tr</code>
+ element being processed.</p>
</li>
<li>
- <p>If the <code>tr</code> element being processed contains no
- <code>td</code> or <code>th</code> elements, then abort this set
- of steps and return to the algorithm above.</p>
+ <p>Run the <span>algorithm for growing downward-growing
+ cells</span>.</p>
</li>
<li>
- <p>Let <var title="">current cell</var> be the first
- <code>td</code> or <code>th</code> element in the <code>tr</code>
- element being processed.</p>
-
- </li>
-
- <li>
-
<p><em>Cells.</em> While <var title="">x<sub
- title="">current</sub></var> is less than or equal to <var
- title="">x<sub title="">max</sub></var> and the slot with
+ title="">current</sub></var> is less than <var
+ title="">x<sub title="">width</sub></var> and the slot with
coordinate (<var title="">x<sub title="">current</sub></var>, <var
title="">y<sub title="">current</sub></var>) already has a cell
assigned to it, increase <var title="">x<sub
@@ -18188,10 +18192,11 @@
<li>
- <p>If <var title="">x<sub title="">current</sub></var> is greater
- than <var title="">x<sub title="">max</sub></var>, increase <var
- title="">x<sub title="">max</sub></var> by 1 (which will make them
- equal).</p>
+ <p>If <var title="">x<sub title="">current</sub></var> is equal to
+ <var title="">x<sub title="">width</sub></var>, increase <var
+ title="">x<sub title="">width</sub></var> by 1. (<var title="">x<sub
+ title="">current</sub></var> is never <em>greater</em> than <var
+ title="">x<sub title="">width</sub></var>.)</p>
</li>
@@ -18232,22 +18237,22 @@
<li>
<p>If <span><var title="">x<sub
- title="">max</sub></var> < <var title="">x<sub
- title="">current</sub></var>+<var title="">colspan</var>-1</span>,
- then let <var title="">x<sub title="">max</sub></var> be <var
- title="">x<sub title="">current</sub></var>+<var
- title="">colspan</var>-1.</p>
+ title="">width</sub></var> < <var title="">x<sub
+ title="">current</sub></var>+<var title="">colspan</var></span>,
+ then let <var title="">x<sub title="">width</sub></var> be
+ <span><var title="">x<sub title="">current</sub></var>+<var
+ title="">colspan</var></span>.</p>
</li>
<li>
<p>If <span><var title="">y<sub
- title="">max</sub></var> < <var title="">y<sub
- title="">current</sub></var>+<var title="">rowspan</var>-1</span>,
- then let <var title="">y<sub title="">max</sub></var> be <var
- title="">y<sub title="">current</sub></var>+<var
- title="">rowspan</var>-1.</p>
+ title="">height</sub></var> < <var title="">y<sub
+ title="">current</sub></var>+<var title="">rowspan</var></span>,
+ then let <var title="">y<sub title="">height</sub></var> be
+ <span><var title="">y<sub title="">current</sub></var>+<var
+ title="">rowspan</var></span>.</p>
</li>
@@ -18303,8 +18308,9 @@
<p>If <var title="">current cell</var> is the last <code>td</code>
or <code>th</code> element in the <code>tr</code> element being
- processed, then abort this set of steps and return to the
- algorithm above.</p>
+ processed, then increase <var title="">y<sub
+ title="">current</sub></var> by 1, abort this set of steps, and
+ return to the algorithm above.</p>
</li>
@@ -18324,46 +18330,21 @@
</ol>
- <p>The <dfn>algorithm for growing downward-growing cells</dfn>, used
- when adding a new row, is as follows:</p>
- <ol>
+ <p>When the algorithms above require the user agent to run the
+ <dfn>algorithm for growing downward-growing cells</dfn>, the user
+ agent must, for each {<var title="">cell</var>, <var
+ title="">cell<sub title="">x</sub></var>, <var title="">width</var>}
+ tuple in the <var title="">list of downward-growing cells</var>, if
+ any, extend the <span title="concept-cell">cell</span> <var
+ title="">cell</var> so that it also covers the slots with
+ coordinates (<var title="">x</var>, <var title="">y<sub
+ title="">current</sub></var>), where <span><var title="">cell<sub
+ title="">x</sub></var> ≤ <var
+ title="">x</var> < <var title="">cell<sub
+ title="">x</sub></var>+<var title="">width</var></span>.</p>
- <li>
- <p>If the <var title="">list of downward-growing cells</var> is
- empty, do nothing. Abort these steps; return to the step that
- invoked this algorithm.</p>
-
- </li>
-
- <li>
-
- <p>Otherwise, if <var title="">y<sub title="">max</sub></var> is
- less than <var title="">y<sub title="">current</sub></var>, then
- increase <var title="">y<sub title="">max</sub></var> by 1 (this
- will make it equal to <var title="">y<sub
- title="">current</sub></var>).</p>
-
- </li>
-
- <li>
-
- <p>For each {<var title="">cell</var>, <var title="">cell<sub
- title="">x</sub></var>, <var title="">width</var>} tuple in the
- <var title="">list of downward-growing cells</var>, extend the
- <span title="concept-cell">cell</span> <var title="">cell</var> so
- that it also covers the slots with coordinates (<var
- title="">x</var>, <var title="">y<sub
- title="">current</sub></var>), where <span><var title="">cell<sub
- title="">x</sub></var> ≤ <var
- title="">x</var> < <var title="">cell<sub
- title="">x</sub></var>+<var title="">width</var>-1</span>.</p>
-
- </li>
-
- </ol>
-
<p>If, after establishing which elements correspond to which slots,
there exists a <span title="concept-column">column</span> in the
<span title="concept-table">table</span> containing only <span
@@ -18422,7 +18403,7 @@
title="">y</sub></var>) where <span><var title="">header<sub
title="">x</sub></var> < <var title="">data<sub
title="">x</sub></var> ≤ <var title="">x<sub
- title="">max</sub></var></span> and <span><var
+ title="">width</sub></var></span> and <span><var
title="">data<sub title="">y</sub></var> = <var
title="">header<sub title="">y</sub></var></span>, except for
any data cells corresponding to <code>td</code> elements that
@@ -18443,7 +18424,7 @@
title="">x</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> < <var
title="">data<sub title="">y</sub></var> ≤ <var
- title="">y<sub title="">max</sub></var></span>, except for any
+ title="">y<sub title="">height</sub></var></span>, except for any
data cells corresponding to <code>td</code> elements that have
a <code title="attr-td-headers">headers</code> attribute
specified.</p>
@@ -18467,7 +18448,7 @@
title="">y</sub></var>) where <span><var title="">header<sub
title="">x</sub></var> ≤ <var title="">data<sub
title="">x</sub></var> ≤ <var title="">x<sub
- title="">max</sub></var></span> and <span><var
+ title="">width</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> ≤ <var
title="">data<sub title="">y</sub></var> < <var
title="">group<sub title="">y</sub></var>+<var
@@ -18499,7 +18480,7 @@
title="">width</var></span> and <span><var title="">header<sub
title="">y</sub></var> ≤ <var title="">data<sub
title="">y</sub></var> ≤ <var title="">y<sub
- title="">max</sub></var></span>, except for any data cells
+ title="">height</sub></var></span>, except for any data cells
corresponding to <code>td</code> elements that have a <code
title="attr-td-headers">headers</code> attribute
specified.</p>
@@ -18526,7 +18507,7 @@
title="">x</sub></var></span> and <span><var
title="">header<sub title="">y</sub></var> < <var
title="">data<sub title="">y</sub></var> ≤ <var
- title="">y<sub title="">max</sub></var></span>, except for any
+ title="">y<sub title="">height</sub></var></span>, except for any
data cells corresponding to <code>td</code> elements that have
a <code title="attr-td-headers">headers</code> attribute
specified.</p>
@@ -18538,7 +18519,7 @@
title="">y</sub></var>) where <span><var title="">header<sub
title="">x</sub></var> < <var title="">data<sub
title="">x</sub></var> ≤ <var title="">x<sub
- title="">max</sub></var></span> and <span><var
+ title="">width</sub></var></span> and <span><var
title="">data<sub title="">y</sub></var> = <var
title="">header<sub title="">y</sub></var></span>, except for
any data cells corresponding to <code>td</code> elements that
@@ -43036,18 +43017,19 @@
<p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben,
Addison Phillips, Adrian Sutton, Agustín Fernández,
- Alexey Feldgendler, Andrew Gove, Andrew Sidwell, Anne van Kesteren,
- Anthony Hickson, Antti Koivisto, Arphen Lin, Asbjørn Ulsberg,
- Ben Godfrey, Ben Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos, Billy
- Wong, Bjoern Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg,
- Brady Eidson, Brendan Eich, Brett Wilson, Brian Campbell, Brian
- Smith, Cameron McCormack, Carlos Perelló Marín, Chao
- Cai, 윤석찬 (Channy Yun), Charl van Niekerk,
- Charles Iliya Krempeaux, Charles McCathieNevile, Christian
- Biesinger, Christian Johansen, Chriswa, Collin Jackson, Daniel
- Brumbaugh Keeney, Daniel Glazman, Daniel Peng, Daniel Spång,
- Darin Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on
- moz irc -->, David Baron, David Flanagan, David Håsäther,
+ Alastair Campbell, Alexey Feldgendler, Andrew Gove, Andrew Sidwell,
+ Anne van Kesteren, Anthony Hickson, Antti Koivisto, Arphen Lin,
+ Asbjørn Ulsberg, Aurelien Levy, Ben Godfrey, Ben Meadowcroft,
+ Ben Millard, Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern
+ Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson,
+ Brendan Eich, Brett Wilson, Brian Campbell, Brian Smith, Cameron
+ McCormack, Carlos Perelló Marín, Chao Cai,
+ 윤석찬 (Channy Yun), Charl van Niekerk, Charles
+ Iliya Krempeaux, Charles McCathieNevile, Christian Biesinger,
+ Christian Johansen, Chriswa, Collin Jackson, Daniel Brumbaugh
+ Keeney, Daniel Glazman, Daniel Peng, Daniel Spång, Darin
+ Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on moz
+ irc -->, David Baron, David Flanagan, David Håsäther,
David Hyatt, Derek Featherstone, DeWitt Clinton, Dimitri Glazkov,
dolphinling, Doron Rosenberg, Doug Kramer, Eira Monstad, Elliotte
Harold, Erik Arvidsson, Evan Martin, fantasai, Franck 'Shift'
@@ -43056,30 +43038,31 @@
Javier, Ivo Emanuel Gonçalves, J. King, James Graham, James M
Snell, James Perrett, Jan-Klaas Kollhof, Jason White, Jasper
Bryant-Greene, Jeff Cutsinger, Jeff Walden, Jens Bannmann, Jens
- Fendler, Jeroen van der Meer, Jim Meehan, Joel Spolsky, John Boyer,
- John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow, Jonathan
- Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka
- K. Korpela, Kai Hendry, <!-- Keryx Web, = Lars Gunther --> Kornel
- Lesinski, 黒澤剛志 (KUROSAWA Takeshi),
- Kristof Zelechovski, Lachlan Hunt, Larry Page, Lars Gunther, Laurens
- Holst, Leif Halvard Silli, Lenny Domnitser, Léonard Bouchet,
- Leons Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej
- Stachowiak, Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->,
- Mark Schenk, Martijn Wargers, Martin Atkins, Martin Dürst,
- Martin Honnen, Mathieu Henri, Matthew Mastracci, Matthew Raymond,
- Matthew Thomas, Mattias Waldau, Max Romantschuk, Michael 'Ratt'
- Iannarelli, Michael A. Nachbaur, Michael A. Puls
- II<!--Shadow2531-->, Michael Gratton, Michael Powers, Michel Fortin,
- Michiel van der Blonk, Mihai Şucan<!-- from ROBO Design -->,
- Mike Brown, Mike Dierken<!-- S. Mike Dierken -->, Mike Dixon, Mike
- Schinkel, Mike Shaver, Mike Smith, Mikko Rantalainen, Neil Deakin,
- Olav Junker Kjær, Oliver Hunt, Peter Kasting, Philip Taylor,
- Rachid Finge, Rajas Moonka, Ralf Stoltze, Ralph Giles, Raphael
- Champeimont, Rimantas Liubertas, Robert O'Callahan, Robert Sayre,
- Roman Ivanov, S. Mike Dierken, Sam Ruby, Sam Weinig, Scott Hess,
- Sean Knapp, Shaun Inman, Silvia Pfeiffer, Simon Pieters, Stefan
- Haustein, Stephen Ma, Steve Runyon, Steven Garrity, Stewart Brodie,
- Stuart Parmenter, Tantek Çelik, Thomas Broyer, Thomas
+ Fendler, Jeroen van der Meer, Jim Meehan, Joe Clark, Joel Spolsky,
+ John Boyer, John Bussjaeger, John Harding, Johnny Stenback, Jon
+ Perlow, Jonathan Worent, Jorgen Horstink, Josh Levenberg, Joshua
+ Randall, Jukka K. Korpela, Kai Hendry, <!-- Keryx Web, = Lars
+ Gunther --> Kornel Lesinski, 黒澤剛志
+ (KUROSAWA Takeshi), Kristof Zelechovski, Lachlan Hunt, Larry Page,
+ Lars Gunther, Laura L. Carlson, Laura Wisewell, Laurens Holst, Leif
+ Halvard Silli, Lenny Domnitser, Léonard Bouchet, Leons
+ Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej Stachowiak,
+ Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->, Mark Schenk,
+ Martijn Wargers, Martin Atkins, Martin Dürst, Martin Honnen,
+ Mathieu Henri, Matthew Mastracci, Matthew Raymond, Matthew Thomas,
+ Mattias Waldau, Max Romantschuk, Michael 'Ratt' Iannarelli, Michael
+ A. Nachbaur, Michael A. Puls II<!--Shadow2531-->, Michael Gratton,
+ Michael Powers, Michel Fortin, Michiel van der Blonk, Mihai
+ Şucan<!-- from ROBO Design -->, Mike Brown, Mike Dierken<!--
+ S. Mike Dierken -->, Mike Dixon, Mike Schinkel, Mike Shaver, Mike
+ Smith, Mikko Rantalainen, Neil Deakin, Olav Junker Kjær,
+ Oliver Hunt, Peter Kasting, Philip Taylor, Rachid Finge, Rajas
+ Moonka, Ralf Stoltze, Ralph Giles, Raphael Champeimont, Rimantas
+ Liubertas, Robert O'Callahan, Robert Sayre, Roman Ivanov, S. Mike
+ Dierken, Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp, Shaun Inman,
+ Silvia Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma, Steve
+ Faulkner, Steve Runyon, Steven Garrity, Stewart Brodie, Stuart
+ Parmenter, Tantek Çelik, Terrence Wood, Thomas Broyer, Thomas
O'Connor, Tim Altman, Tyler Close, Vladimir Vukićević,
Wakaba, William Swanson, and Øistein E. Andersen, for their
useful and substantial comments.</p>
More information about the Commit-Watchers
mailing list