Lists Home |
Date Index |
> From: Marcus Carr [mailto:firstname.lastname@example.org]
> Wayne Steele wrote:
> > I think this one important reason that many people can't
> wait until DTDs are
> > dead. They really make it hard to embed one XML document
> into another. If
> > DTDs are dead, it's trivial to embed one document into another.
> Wow, this is a side to DTDs that I'm unfamiliar with. Now,
> merely by virtue of
> the fact that they are still able to draw breath, DTDs
> prevent one document from
> being embedded in another by any means. Perhaps we should
> reconsider them - they
> appear to be powerful in ways not previously explained to me...;-)
> Horses for courses.
When that whole recent RDDL debate raged, and turned into a debate about
what is a document's type, I was firmly of the mind that DOCTYPEs no longer
offered any value. Namespaces tell you all you need to know.
But after hearing some of the comments from folks, I started to change my
mind. I started thinking that DOCTYPEs could still have value as a sort of
assembly mechanism. Using schemas, you can define modular vocabularies like
reusable components. But there are use cases for being able to specify a
grammar or system of constraints for a document as a whole, and specifying
which of these modular vocabularies may be employed in them. It seems like
there is utility in specifying such an assembly and attaching a name to it.
I also started thinking that it might be an interesting excercise to see if
RELAX NG could not fulfill all of the use cases that a DOCTYPE can fulfill,
and which a schema anchored firmly to a namespace on an element cannot
fulfill. Maybe we could even have a PI that serves the same purpose as an
internal DTD subset using RELAX NG short syntax. I haven't delved very
deeply into RELAX NG, yet, but to the extent that I have, I keep getting the
feeling that RELAX NG offers some nice solutions to some festering problems
in the existing suite of XML specs that the W3C is continuing to build upon.
And I still want to kill off DTDs. I've just come around to the
understanding that we have to be sure we are adequately addressing all of
the use cases they serve before we do so -- and XML Schema is clearly not a
DTD killer, but perhaps RELAX NG is.