I think Elliotte's list is a good start. I only take issue with one item
that's extant, and two items that's missing, and I have two suggestions:
Links: I really have come to believe that links shouldn't be declared
within the document...at least, not directly. Links should be a datatype
within a schema. In DTD terms, it would be something like saying an
attribute has a type of CDATA. Obviously, we'd need something like
Relax-NG to declare the datatypes that compose a link successfully.
This way, any element/attribute combo could be declared to have the
qualities of a link, without requiring modification of the XML source or
that people use a given tag name.
In this fashion, we could re-use the good work that was done in XLink
and drop it's more annoying features, in a way that's
backwards-compatible with the few people who are actually using XLink.
Schemas: I really think it's time to deprecate DTDs. Schemas are
powerful and well-understood at this point. Without disallowing DTDs, a
schema language (I'd advise Relax-NG) should be the basis for XML 2.0.
Web Compatibility: One of the places where we had the right idea with
XML 1.0 was that it needed three things: a base language, a linking
language, and a styling language. Where we failed is that these things
weren't web compatible, in any real sense that web developers
understood.
I propose that we take the same approach with XML 2.0, except with more
of a mind to working towards real web compatibility. XML 2.0 plus a
normative linking datatype schema module plus pushing CSS to fully
support applying all HTML behaviors in any XML document --
disambiguating the behaviors from the HTML tags and pushing them out to
CSS, where they really belong.
As for my suggestions:
Dimitre Novachev brought up a valid concern in another thread -- how can
we ensure this effort goes somewhere, and isn't just an exercise in
geeky navel-gazing?
Elliotte, would it be possible to put up a wiki with these ideas broken
out? Can you host that sort of thing? That way, we can talk here, and
then people can edit the wiki as ideas get sorted out.
Also, I think we should get people to step up to the plate to volunteer
to build reference implementations. I've been toying with modifying
WebKit to accept CSS extensions that handle native HTML behaviors for
months now; if I had a real reason and a sense that it might have some
impact, I'd focus more on those efforts, in regards to providing a
reference implementation the HTML disambiguation I was discussing above.
Other people could volunteer in areas of their particular interest.
--->Ben