With that said, my suggestion for what should go in a table cell is that it
should be almost any text elements (and from the SGML/HyTime point of view
that includes graphics, sound, and just about everything else) but _not_
high-level hierarchical elements (e.g., <body>, <h1>, <h2>). Although current
HTML is nonhierarchical, I believe that it will need to evolve towards
hierarchical models if it is to be able to deal with scientific and technical
information, among other things. (In other words, I'd like to see <body>
enforced as a container and would go even further to replace <h1>, <h2>, etc.
with container elements that consist of a title followed by data that might
include lower-level container element.)
I fear that the urge to allow elements like <h1> inside cells results from the
sparse nature of the current HTML application. People will tend to use <h1> in
a cell because they want to get a different look for some text and not because
the item affected is of h1 importance to the overall document. (Sure, I'm
guilty of tagging something as an <h2> just to get typographic
differentiation, but at least i _feel_ guilty when I've done it.) I feel that
we should evolve towards a richer set of elements so that the temptation will
be less attractive. I admit that I'm not intimidated by DTDs in the
200-element class. They're certainly different from the current
"keep-it-simple" HTML philosophy, but, with proper documentation they can be
made managable. By moving in the direction of tables, we're already making the
DTD more complex, even if we never get to the stupifying levels of complexity
I've seen in some DTDs I could name.
(I also reconginize that if we allow <a> in a cell, someone can link to
another whole document, complete with enclosing <html> </html>. But that
doesn't break the DTD. That's similar to what SGML itself has in mind with the
SUBDOC feature: the ability to include a "complete" document inside another.)
In summary: we should allow lots of things in cells, but we should increase
the number of things available for use in general rather than do
counterintuitive things like allowing <body> and other high-level structuring
elements inside cells.
Jim Mason (masonjd@ornl.gov)