DTD:Document Type Definition

A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list of legal elements and attributes.

DTD:Document Type Definition

DTD:Document Type Definition

     

A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list of legal  elements and attributes.

A DTD can be defined  inside a  XML document, or a  external reference can be declared .

Internal DTD 

If the DTD is defined inside the XML document, it should be wrapped in a DOCTYPE definition with the following syntax:

<!DOCTYPE root-element [element-declarations]>

 

 

 

Example of a XML document with an internal DTD: E-mail.xml

<?xml version="1.0"?>
<!DOCTYPE E-mail[
  <!ELEMENT E-mail (To,From,subject,Body)>
  <!ELEMENT To (#PCDATA)>
  <!ELEMENT From (#PCDATA)>
  <!ELEMENT Subject (#PCDATA)>
  <!ELEMENT Body (#PCDATA)>
]>
<E-mail>
<To>Rohan</To>
<From>Amit</From>
<Subject>Surprise....</Subject>
<Body>Be ready for a cruise...i will 
catch u  tonight</Body>
</E-mail>

Open the file E-mail.xml in a web-browser . you will see  the following :

External DTD 

If the DTD is defined in an external file, it should be wrapped in a DOCTYPE definition with the following syntax:

<!DOCTYPE root-element SYSTEM "filename">

This is the same XML document as above,(but with an external DTD ) : E-mail.xml

<?xml version="1.0"?>
<!DOCTYPE E-mail SYSTEM 
"E-mail.dtd">
<E-mail>
<To>Rohan</To>
<From>Amit</From>
<Subject>Surprise....</Subject>
<Body>Be ready for a cruise...i will 
catch u  tonight</Body>
</E-mail>

And this is the file "E-mail.dtd" which contains the following DTD:

<!ELEMENT E-mail (To,From,subject,Body)>
<!ELEMENT To (#PCDATA)>
<!ELEMENT From (#PCDATA)>
<!ELEMENT Subject (#PCDATA)>
<!ELEMENT Body (#PCDATA)>

Open the file E-mail.xml in a web-browser. It will display the following :

Importance of a DTD?

  • With a DTD, a XML file carries a description of its own format.
  • With a DTD, independent groups of people can agree to use a standard DTD for interchanging data.
  •  User application can use a standard DTD to verify that the data he receives from the outside world is valid.
  • User can also use a DTD to verify his own data.