XML DTD
- Forrige side XML validerer
- Næste side XML Schema
A grammar-correct XML document is called 'well-formed'.
XML documents validated according to DTD are both 'well-formed' and 'valid'.
What is DTD?
DTD Represents Document Type Definition (Document Type Definition).
DTD Defines the structure of XML documents, as well as the valid elements and attributes.
Valid XML document
A 'valid' XML document is both 'well-formed' and also conforms to the rules of the DTD:
<?xml version="1.0" encoding="UTF-8"?> !DOCTYPE note SYSTEM "Note.dtd" <note> <to>George</to> <from>John</from> <heading>Påmindelse</heading> <body>Glæm ikke mødet!</body> </note>
The above DOCTYPE declaration includes a reference to the DTD file. Below is the content of the DTD file presented and explained.
XML DTD
DTD's purpose is to define the structure of XML documents, as well as the valid elements and attributes:
Note.dtd:
!DOCTYPE note [ !ELEMENT note (to,from,heading,body) <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
Følgende er en forklaring på den ovennævnte DTD:
!DOCTYPE note - Definerer dokumentets rod-element som note !ELEMENT note - Definerer, at note-elementet skal indeholde følgende elementer: "to, from, heading, body" !ELEMENT to - Definerer to-elementet som "#PCDATA"-type !ELEMENT from - Definerer from-elementet som "#PCDATA"-type !ELEMENT heading - Definerer heading-elementet som "#PCDATA"-type !ELEMENT body - Definerer body-elementet som "#PCDATA"-type
Tip:#PCDATA betyder parseable character data (kan analyseres som karakterdata).
Brug af DTD til entitetsdeklaration
DOCTYPE-deklarationer kan også bruges til at definere specialtegn eller strenge, der bruges i dokumentet:
Eksempel
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY nbsp " ;"> <!ENTITY writer "Writer: Bill Gates."> <!ENTITY copyright "Copyright: CodeW3C.com."> ]> <note> <to>George</to> <from>John</from> <heading>Påmindelse</heading> <body>Glæm ikke mødet!</body> <footer>&writer; ©right;</footer> </note>
Tip:En entitet består af tre dele: starter med en og-tegn (&), derefter følger entitetsnavnet, og afsluttes med et semikolon (;).
Når skal du bruge DTD?
Med DTD kan uafhængige grupper nå enighed om standarder for dataudveksling.
Med DTD kan du validere data, der modtages fra omverdenen, for at se om de er gyldige.
Du kan også bruge DTD til at validere dine egne data.
Hvis du vil lære om DTD, så læs vores DTD Tutorial.
Når skal man ikke bruge DTD?
DTD er ikke nødvendigt for XML.
Hvis du tester XML eller bruger små XML-filer, kan det være en spild af tid at oprette DTD.
Hvis du udvikler et program, skal du vente med at tilføje DTD, indtil specifikationen er stabil. ellers kan dit program stoppe med at fungere på grund af valideringsfejl.
- Forrige side XML validerer
- Næste side XML Schema