We have the ability to make the semantic distinction with THEAD; the
remaining use of TH is for stub cells. CALS gives you Colspec, which
is sufficient to set up columns of stubs; Dave calls his corresponding
element COLW, although it doesn't do as much as Colspec (and it would
be handier if it did):
<!ELEMENT ColSpec - O EMPTY >
<!ATTLIST ColSpec
%commonatts;
Align (Left|Right|Center|Justify|Char)
#IMPLIED
Char CDATA #IMPLIED
Charoff NUTOKEN #IMPLIED
Colname NMTOKEN #IMPLIED
Colnum NUMBER #IMPLIED
Colsep %yesorno; #IMPLIED
Colwidth CDATA #IMPLIED
Rowsep %yesorno; #IMPLIED
>
<!ATTLIST colw -- specifies relative column widths --
col CDATA #REQUIRED -- column number or range --
width CDATA #REQUIRED -- positive number, e.g. 2.5 --
>
The other functionality is split off to separate HSPEC and VSPEC
elements, where it is to be found in %cell.halign; and %cell.valign;.
That could get confusing, but on the point of TH and TD, if I
can identify a column for formatting info, and if I can class a
cell, then I don't really need TH and TD to construct stubs.
So I really don't need two kinds of cells at all. This approach
was invented to allow real simple table construction. Combined
with the other facilities available, TH and TD offer formatting
possibilities that will be exploited in disregard of the supposed
semanic distinction between them.
A couple day's reading of comp.text.authoring.html shows that no
formatting possibility will go unused. So what I'm saying is,
don't expect that a TH will actually be a header or stub cell,
nor that TD won't be. For that matter, THEAD might be an
entire table (do you think browsers will care if TBODY is missing
entirely, or empty?).
This table model allows more ways to get tabular effects than
most others I've seen, and that will not lead to greater semantic
precision. UAs relying on semantic distinctions will have certain
difficulties---that's what I was pointing out.
Regards,
-- Terry Allen (terry@ora.com) O'Reilly & Associates, Inc. Editor, Digital Media Group 101 Morris St. Sebastopol, Calif., 95472A Davenport Group sponsor. For information on the Davenport Group see ftp://ftp.ora.com/pub/davenport/README.html or http://www.ora.com/davenport/README.html