Lists Home |
Date Index |
For me, the most compelling use for (the notion
of) document type is as a contract. A document
type declaration asserts that a document's
syntax follows some set of rules to express the
document creator's intended semantics.
With namespaces used, as you point out, for
defining modular vocabularies, I agree with you
that a root node's namespace + name has problems
as a document type, since it is not specific enough
a contract for many cases.
RELAX NG, I think, does go a long ways toward
expressing syntactical rules, but some rules
may only be expressible (is that a word?) in
procedural code, prose, hand waving, scribbles
on napkins ...
Packaging RELAX NG schemas or other processing
resources with an instance doesn't work too
well when viewing doctype as contract. It
feels kind of like sending a new contract with
each shipment. (Of course, DTD internal subsets
fail in this regard, as well.)
Michael Brennan wrote:
> 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.