DTD: Extra Complexity?

Clark Evans clark.evans at manhattanproject.com
Sat Feb 6 22:21:11 GMT 1999

Dan Holle wrote:
> 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?

XML defines the basic syntax (elements, attributes, entities)

A DTD defines how the syntax is structured, i.e., the
relationships among the elements and attributes.

First, a DTD is optional. This will depend upon
your context.  If an XML stream has one and only
one set of structural rules which define the
document, then a single DTD is appropriate.

Second, when you have many users of the XML stream,
each with different needs, a single DTD dosn't
work.  You need many.  This is what architectural
forms allows to happen.  It super-imposes the 
structure of one or more DTD's upon an XML stream.
In this case, the DTD declaration is omitted, and
another syntax is used to bind the DTD to the

Third, if it is hard to define "when" the stream
begins or ends (i.e. it's not a file), or if the 
DTD is implicitly understood at both the source
and the destination of the message, then it is 
perfectly acceptable to omit the DTD.

Does help?

:) Clark

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