This is a good point.
If HTML+ allows new elements to be declared in the
internal DTD subset, then browsers will pretty much
have to incorporate a full SGML parser.
Also, the current proposed mechanism for defining new
elements (the "?extra" parameter entities) requires that
all browsers are based on the same DTD -- a goal worth
working for, to be sure, but not likely to be realized
any time soon IMHO.
Architectural forms would be much simpler to handle.
Good candidates for these are:
<P> for paragraph-like elements,
<EM> for phrase-level elements,
<A> for hyperlinks,
<OL> and/or <UL> for single part lists,
<DL> for defining lists
??? for containers / divisions (logical subunits of a document)
??? for titles / heading-like elements (which associate a
name with a container element)
??? Others?
Each of these elements could have a "ROLE=" attribute,
specifying a (user-defined) semantic role. The <RENDER>
element would associate presentation styles with role
names, rather than element names; then users could
encode whatever styles and semantics they wanted,
and browsers would still only need to recognize a fixed
set of elements.
<p role=imho>
I like the name <em role=attname>ROLE</em>
better than <em role=attname>STYLE</em>,
since presumably this attribute conveys more than
just presentation information.
I remember seeing this attribute on the
<em role=elname>EM</em> element at one point; don't know
what happened to it.
</p>
--Joe English
jenglish@crl.com