Document Type Definitions (DTDs) are important in data exchange. Parties exchanging data must agree on a format, and a DTD allows the specification of that format.
DTDs are used to specify the allowed syntax of an XML application [XML], including the values of entities and special properties of attributes for example, that an attribute is a unique element identifier (ID). Familiarity with DTDs is useful because they are a fundamental part of XML parsing. In this book, we use DTDs to specify the syntax for XML signatures and some other XML security structures.
Recently, the W3C devised a new method of syntax specification, called XML Schema [Schema], which is described in detail in Chapter 5. Schemas are used in the XML Security standards and this book as the more authoritative syntax specification. Although schemas provide a more precise description and are better suited to handling XML namespaces [Names], they do not eliminate the need for DTDs. Also, as schemas are such a recent addition to the XML arsenal, fewer tools are available for handling schemas than for working with DTDs.
If you are already familiar with DTDs, you can skip the rest of this chapter.