Page 1 of 1

XML DTD

Posted: Fri Oct 27, 2023 9:35 am
by Guest
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
" "> <!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; &copyright;</footer>
</note>

Try it Yourself »


Tip: An entity has three parts: it starts with an ampersand (&),
then comes the entity name, and it ends with a semicolon (;).


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.
If you want to study DTD, please read our DTD Tutorial.

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.













+1

Reference: https://www.w3schools.com/xml/xml_dtd.asp