Roedy Green wrote:
Pages are TWO dimensional. That does not fit the current single
inheritance paradigm.
Suggest a syntax as to how to designate an element as having two
parents. Suggest APIs for the DOM that are both backwards-compatible and
capable of having multiple parents. And that's only the beginning.
Tables are the only place where this really happens, but there is no
real way to actually implement a table ideally. Even in the first
versions of HTML, it didn't work too well, because SGML has a similar
one-parent binding.
And as much as you would like to ignore backwards compatibility, the web
is one place where ignoring it will land you in very hot water, as the
Trident development team has no doubt discovered.
It is not rocket science to extend the syntax to give you the ability
to apply styles and classes to entire columns, or even parts of
columns.
Make a syntax and suggest it to the WHATWG HTML or W3C CSS mailing lists
(depending on how you do it). See what the reception is.
It is prissy academic attitudes that prevent the W3C people from
implementing this practical necessity because they are in love with
the beauty of the current formalism.
I don't think anyone's happy, let alone in love, with the table status
quo. But, as the saying goes, the mark of a good compromise is that
everyone's unhappy.
The primary detracting point is that what is being proposed would need
to remake the core of CSS or HTML/DOM. It's not "prissy academic
attitudes" but the reality of the difficulties of making a layout engine
that is both correct and fast, among other not-quite-so-important
characteristics .
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth