[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xml-dev] Interoperability
Joe English writes:
> Same here, except that for most of my applications DTDs are
> neither overkill nor inadequate; they're usually just right.
> But for document processing and interchange, the value added
> (mostly whitespace significance, default attribute values,
> and indicating ID-ness) isn't worth the administrative overhead.
I agree with Joe. I like DTDs (heck, I wrote a book about them), but
they just don't work very well for interchange in production-grade
systems. Either (a) they cause a lot of unnecessary network traffic
and introduce a new point of failure (and security hole) for your
system, or (b) they require the creation and maintenance of a local
cache that will almost certainly be screwed up or neglected as soon as
someone different takes over -- in both XML and SGML, and probably in
most of the rest of IT, anything clever is doomed to disaster as soon
as the original implementors move on.
My easy-to-remember rule is never to use DOCTYPE in XML documents
intended for interchange. Ever. DOCTYPE sounds good in theory, but
it will screw you and your customers horribly in real life.
DTDs are useful for documentation. They're also useful for guided
authoring in XML-aware editors, for system testing, and even for local
verification; just make sure that you strip off DOCTYPE (and resolve
any defaulted attribute values) before the document goes out the door.
All the best,