0% found this document useful (0 votes)
111 views3 pages

XML DTD: What Is A DTD?

An XML DTD defines the structure and legal elements and attributes of an XML document to validate that XML documents conform to the DTD specification. A DTD can also define entities for reuse in XML documents.

Uploaded by

Keshav Bagaade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views3 pages

XML DTD: What Is A DTD?

An XML DTD defines the structure and legal elements and attributes of an XML document to validate that XML documents conform to the DTD specification. A DTD can also define entities for reuse in XML documents.

Uploaded by

Keshav Bagaade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

XML DTD

An XML document with correct syntax is called "Well Formed".

An XML document validated against a DTD is both "Well Formed" and


"Valid".

What is a DTD?
DTD stands for Document Type Definition.

A DTD defines the structure and the legal elements and attributes of an XML
document.

Valid XML Documents


A "Valid" XML document is "Well Formed", as well as it conforms to the rules
of a DTD:

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

The DOCTYPE declaration above contains a reference to a DTD file. The


content of the DTD file is shown and explained below.

XML DTD
The purpose of a DTD is to define the structure and the legal elements and
attributes of an XML document:
Note.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

The DTD above is interpreted like this:

• !DOCTYPE note - Defines that the root element of the document is


note
• !ELEMENT note - Defines that the note element must contain the
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"

Tip: #PCDATA means parseable character data.

Using DTD for Entity Declaration


A DOCTYPE declaration can also be used to define special characters or
strings, used in the document:

Example
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>

When to Use a DTD?


With a DTD, independent groups of people can agree to use a standard DTD
for interchanging data.

With a DTD, you can verify that the data you receive from the outside world
is valid.

You can also use a DTD to verify your own data.

When NOT to Use a DTD?


XML does not require a DTD.

When you are experimenting with XML, or when you are working with small
XML files, creating DTDs may be a waste of time.

If you develop applications, wait until the specification is stable before you
add a DTD. Otherwise, your software might stop working because of
validation errors.

You might also like