Tables Described Logically

Terry Allen (terry@ora.com)
Sat, 8 Apr 95 15:27:44 EDT

As a sidebar to the rather intensive discussion of tables we've
had recently, here's a sketch of how one could describe tables
according to the logical structure of their content. I'm *not*
proposing this model for real-world use, because I think it needs
good tools to help in composition.

These ideas aren't original, and I haven't given them any SGML
dress. I'd be interested in hearing from anyone who's already
done a logical-table DTD (or who has constructed a useful tool
for composing such a table).

This exposition needs example text, which is *entirely fictitious*.
I'm posting it separately to html-wg and davenport; apologies to
those who get two copies.

1. The table's title is "How to convert Heritage documents to SGML"

2. It has two dimensions, named abstractly as Red and Blue.

3. The red dimension deals with the following heritage formats,
to which header/stub text is attached:
RTF="Raunchy Text Format"
ASCII="American Standard Call-It-Input"
Handwriting="Handwriting"

4. The blue dimension deals with the following DTDs:
ISO 007="NASA DTD"
PulpBook="PulpBook DTD"
DTDDTDOC="DTDDTDOC"

5. The cells or entries are specified as follows:

"Use the filter that comes with your word processor"
Red=RTF
Blue=ISO 007

"Cut and paste into a template"
Red=ASCII
Blue=ISO 007

"Input from scratch"
Red=Handwriting
Blue=ISO 007

"Ask a couch potato"
Red=RTF
Blue=PulpBook

"Give up"
Red=ASCII, Handwriting [note: this is a span]
Blue=PulpBook

"Ask Chairman Bill"
Red=RTF
Blue=DTDDTDOC

"Add tagging to your existing document"
Red=ASCII
Blue=DTDDTDOC

"Rewrite carefully and watch your spelling"
Red=Handwriting
Blue=DTDDTDOC

6. Identify the presentational dimensions for the abstract names
given for the cells: Red=x Blue=y . That means that the
column headers will read (in an order yet to be specified):
"Raunchy Text Format" "DTDDTDOC" "NASA DTD"

7. Identify the order in which the headers and stubs will be
presented:
Red="RTF, Handwriting, ASCII"
Blue=alphabetical

8. Now all the info needed to determine the general layout of
the table has been provided (did I miss anything?). Rendering
is probably more complicated than for tables described according
to their appearance, but note that the cell info can be given
in any order, the axes and order of columns and rows are easy
to change, and the model is easily extended into additional
dimensions (for this table, the Yellow dimension might be
"Money available for the job").

Additional help may be required from a style sheet in order to
determine such things as column width and justification; this
info can be keyed to the abstract names of the dimensions, the
header/stub specifications, or the cells themselves.


-- 
 Terry Allen   (terry@ora.com)