DTD: Extra Complexity?

Steven R. Newcomb srn at techno.com
Sun Feb 7 17:09:46 GMT 1999

[Dan Holle:]

> Many applications I've seen, and a few that I have created, don't
> validate the XML against a DTD.

> Is the DTD an extra step, inherited from SGML, that doesn't really
> fit XML?

True, there is often no necessity for an application to validate
incoming data against a DTD.  BUT: 

DTDs are essential in marketplaces in which open information
interchange occurs in a multivendor environment.  In this kind of
situation, DTDs serve as contracts between information-creating
application developers and information-consuming application
developers.  When information fails to be interchanged successfully
(i.e., when things don't work), and if there's no DTD contract, then
there's no way to tell who's responsible to make what changes in order
to restore successful open information interchange.  Software
maintenance costs spiral upward, customers get confused and unhappy,
and the atmosphere in the marketplace is poisoned.  With a DTD
contract in place, the reliability of open information interchange is
much higher, and the entry cost to software vendors of serving any
given marketplace is much more predictable.

Now about the necessity of applications performing validation.  
You're right, it's not strictly necessary.  BUT:

* Vendors of information-consuming software often wish to incorporate
  validation of incoming information into their applications in order
  to deflect blame away from themselves when things don't work right
  and it's not their fault.  It is impossible to create software that
  understands just any old gobbledygook that happens to come along.

* Similarly, vendors of information-creating software often wish to
  incorporate validation of outgoing information into their
  applications in order to demonstrate that, if some
  information-consuming application chokes on it, it is the fault of
  the information-consuming application and not the fault of the
  information-creating application.  It is impossible to create
  information that can be understood by just any old
  information-processing application.

So, back to your question: "Is the DTD an extra step, inherited from
SGML, that doesn't really fit XML?"  The answer is that DTDs are an
essential, non-optional feature of XML whenever XML is used in a
marketplace of open information interchange that is served by multiple
software vendors.  

Given that XML is supposed to be used on the Web, DTDs are certainly
essential to XML's widespread success in enhancing opportunities for
open information interchange in a multivendor context.

On the other hand, open DTDs are not good news for the ultra-dominant
software vendors.  Efforts to create industry-standard DTDs are the
strategic Manhattan Projects of the ongoing struggle between
information owners and software vendors for control of huge libraries
of valuable commercial information.  Eventually, the information
owners are going to win, leaving them in a position to buy their
software from the lowest bidder.  The Silicon Integration Initiative's
ECIX project [www.si2.org] springs to mind as an example.


Steven R. Newcomb, President, TechnoTeacher, Inc.
srn at techno.com  http://www.techno.com  ftp.techno.com

voice: +1 972 231 4098 (at ISOGEN: +1 214 953 0004 x137)
fax    +1 972 994 0087 (at ISOGEN: +1 214 953 3152)

3615 Tanner Lane
Richardson, Texas 75082-2618 USA

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list