OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] What is the difference between XSD and DTD

[ Lists Home | Date Index | Thread Index ]

> Can anybody please explain me the real difference between XSD and DTD.

Here are a number of differences.  Some are not important, some
are real important and easy to understand, some are real important
and hard to understand.  This list is not exhaustive.

DTD's are not namespace aware.

DTD's have #define, #include, and #ifdef -- or, less C-oriented,
the ability to define shorthand abbreviations, external content,
and some conditional parsing.

A DTD describes the entire XML document (even if it leaves "holes");
a schema can define portions.

XSD has a type system.

XSD has a much richer language for describing what element or attribute
content "looks like."  This is related to the type system.

You can put a DTD inline into an XML document, you cannot do this with
XSD.  This means DTD's are more secure (you only have to protect one
bytestream -- the xml/dtd -- and not multiple).

The official definition of "valid XML" requires a DTD.  Since this may
be impractical, if not impossible, you often have to settle for
schema-valid, which is not quite the same.


PS:  If your company requires those stupid disclaimers on email,
you should get a free account somewhere and post with that.
Rich Salz                  Chief Security Architect
DataPower Technology       http://www.datapower.com
XS40 XML Security Gateway  http://www.datapower.com/products/xs40.html


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS