What is a DTD?

A DTD is a Document Type Definition. A DTD defines the structure and the legal elements and attributes of an XML document.

Why Use a DTD?

With a DTD, independent groups of people can agree on a standard DTD for interchanging data. An application can use a DTD to verify that XML data is valid.

An Internal DTD Declaration

If the DTD is declared inside the XML file, it must be wrapped inside the <!DOCTYPE> definition:

XML document with an internal DTD

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT heading (#PCDATA)>
<body>Don't forget me this weekend</body>

In the XML file, select “view source” to view the DTD.

The DTD above is interpreted like this:

  • !DOCTYPE note defines that the root element of this document is note
  • !ELEMENT note defines that the note element must contain four elements: to, from, heading, body,
  • !ELEMENT to defines the to element to be of type #PCDATA,
  • !ELEMENT from defines the from element to be of type #PCDATA,
  • !ELEMENT heading defines the heading element to be of type #PCDATA,
  • !ELEMENT body defines the body element to be of type #PCDATA.

official w3schools.com/xml/xml_dtd_intro

srcs docstore.mik.ua/orelly/xml/xmlnut, loc.gov