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 .
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> |
![]() |
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)> |
![]() |
Importance of a DTD?
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: DTD:Document Type Definition View All Comments
Post your Comment