[
Lists Home |
Date Index |
Thread Index
]
At 4:36 PM +0200 4/9/04, Henrik Martensson wrote:
>Allowing authors to add tags not supported by the DTD (and therefore not
>by the processing systems that are designed to support what the DTD
>supports, nothing less, nothing more) renders the use of XML
>meaningless.
A common fallacy, and one I'm not surprised to hear from you given
your avowed SGML background. The fundamental difference between XML
and SGML is not the restricted syntax, and the one that means XML is
not just a subset of SGML, is that XML separates the notion of
well-formedness from validity. In XML, well-formedness is required.
Validity isn't, and normally shouldn't be. A processing system that
can only handle what the DTD mandates is flawed. Instead a processing
system needs to ask if the document provides what it needs to do its
job, not if it adheres to some arbitrary schema. And if the document
doesn't provide what it needs, then the system should notice and
handle the case gracefully, perhaps alerting a human, perhaps not,
depending on circumstances.
The DocBook XSL stylesheets, for example, still work quite well with
invalid markup. Indeed, XPath and XSLT 1.0 based systems generally do
work quite well with documents regardless of validity because those
languages were designed without the assumption of validity. Sadly,
the same cannot be said for many other systems that were needlessly
tightly coupled to particular formats. Built here it is the systems
that are broken. The X stands for extensible. When objects are
encountered that are not represented in the current DTD/schema it is
the right and duty of the author to invent new markup to describe
what is actually there. Systems that cannot deal sensibly with the
extensibility of XML are broken.
--
Elliotte Rusty Harold
elharo@metalab.unc.edu
Effective XML (Addison-Wesley, 2003)
http://www.cafeconleche.org/books/effectivexml
http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA
|