row — A row in a table
Row, cells are arranged horizontally from
the start of the row to the end. Cells can, but are not
required to, specify the column in which they occur, so it is
possible for a row to contain fewer cells than there are columns
in the table. This introduces missing cells, which are assumed
to be empty. These missing cells can occur anywhere in the row.
Once a cell has been allocated to a column, subsequent cells may not fill preceding columns. In other words, while three cells can specify that they occur in columns 1, 3, and 5, they cannot specify that they occur in columns 1, 5, and 3. Once a column is passed, you can never go back.
If cells do not specify the column in which they occur, they are placed in the next available column. Calculation of the next available column is complicated by horizontal and vertical spanning. Cells from preceding rows can have a vertical span that causes them to extend into the current row, thus occupying space in the current row. These logically occupied cells are skipped when looking for the next available column. Similarly, if a cell has a horizontal span, it logically occupies the columns that follow it. Cells can simultaneously span rows and columns.
Each of the following conditions is an error:
A cell spans beyond the boundries of the table.
A row contains more cells than there are columns in the table.
The arrangement of cells in a row forces one or more cells past the last column of the table.
RowSep has the value 1 (true), then a
rule will be drawn below all the cells in this
(unless other, interior elements, suppress some or all of the rules).
A value of 0 (false) suppresses the rule. The rule below the last row
in the table is controlled by the
attribute of the enclosing
InformalTable and the
of the last row is ignored. If unspecified, this attribute is
inherited from enclosing elements.
VAlign specifies the vertical alignment
of text (and other elements) within the cells of this
If no alignment is specified, it is inherited from enclosing