Re: HTML table model suggestion

Paul Grosso (
Fri, 31 Mar 95 07:43:32 EST

> From: (Bernie J Scholz)
> A question for Paul: Why did you not add the CALS THEAD and TFOOT elements
> (table header, and table footer, respectively) to the content of the TGROUP
> element? For example:
> <!ELEMENT tgroup - o (colspec*, thead?, tbody, tfoot?) >
> ..
> <!ELEMENT (tbody |
> tfoot |
> thead) - o (row+) >
> ..

> From: (Daniel Glazman)
> I really like Paul's proposal for CALS tables in HTML; I also like
> Bernie's suggestion for thead and tfoot.
> In the CALS dtd I have , TGROUP is defined as follows:
> <!ELEMENT tgroup - o (colspec*, spanspec*, thead?, tfoot?, tbody) >
> The main problem in this definition is TFOOT position before TBODY in SGML
> TGROUP structure... I guess a such definition comes from layout requirements:
> if table's height is greater than a page then footer can be duplicated on each
> page containing a part of the table using simpler rendering algorithms...

I only omitted thead and tfoot because there were no such structures
in the proposed HTML 3.0 model. I would recommend adding them.

As Daniel points out, the CALS model has tfoot before tbody:

<!ELEMENT tgroup - o (colspec*, thead?, tfoot?, tbody) >

This is to allow implementations to "pick up" the tfoot without
having to scan a potentially very long table (I've seen CALS tables
that were 20 pages long) since one might want to present the tfoot
at the bottom of each page of the table.

I purposely omitted spanspec from the suggested CALS subset. It
is a level of complexity that is probably not needed in HTML tables.
Most of what one does with spanspec can be done with the subset I
suggested without it.


Paul Grosso
VP Research, ArborText, Inc.
Chief Technical Officer, SGML Open