XML -DTD
Een XML-document met de juiste syntaxis wordt "Well Formed" genoemd.
Een XML-document dat is gevalideerd tegen een DTD is zowel "Well Formed" als "Galid".
Wat is een DTD?
DTD staat voor Document Type Definition.
Een DTD definieert de structuur en de juridische elementen en attributen van een XML-document.
Geldige XML-documenten
Een "geldig" XML-document is "goed gevormd" en voldoet ook aan de regels van een 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>
De DOCTYPE-declaratie hierboven bevat een verwijzing naar een DTD-bestand. Hieronder wordt de inhoud van het DTD-bestand getoond en toegelicht.
XML-DTD
Het doel van een DTD is om de structuur en de juridische elementen en attributen van een XML-document te definiëren:
Opmerking.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
De bovenstaande DTD wordt als volgt geïnterpreteerd:
- !DOCTYPE note - Definieert dat het hoofdelement van het document note is
- !ELEMENT note - Definieert dat het note-element de elementen moet bevatten: "to, from, heading, body"
- !ELEMENT to - Definieert het to-element van het type "#PCDATA"
- !ELEMENT from - Definieert het from-element van het type "#PCDATA"
- !ELEMENT kop - Definieert het kopelement van het type "#PCDATA"
- !ELEMENT body - Definieert het body-element van het type "#PCDATA"
Tip: #PCDATA betekent parseerbare karaktergegevens.
DTD gebruiken voor entiteitsverklaring
Een DOCTYPE-declaratie kan ook worden gebruikt om speciale tekens of strings te definiëren die in het document worden gebruikt:
Voorbeeld
<?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; ©right;</footer>
</note>
Probeer het zelf "
Tip: Een entiteit bestaat uit drie delen: het begint met een ampersand (&), dan komt de naam van de entiteit en het eindigt met een puntkomma (;).
Wanneer gebruik je een DTD?
Met een DTD kunnen onafhankelijke groepen mensen overeenkomen om een standaard DTD te gebruiken voor het uitwisselen van gegevens.
Met een DTD kunt u controleren of de gegevens die u van de buitenwereld ontvangt valide zijn.
U kunt ook een DTD gebruiken om uw eigen gegevens te verifiëren.
Als je DTD wilt studeren, lees dan onze DTD-zelfstudie .
Wanneer GEEN DTD gebruiken?
XML vereist geen DTD.
Wanneer u met XML experimenteert of met kleine XML-bestanden werkt, kan het maken van DTD's tijdverspilling zijn.
Als u toepassingen ontwikkelt, wacht dan tot de specificatie stabiel is voordat u een DTD toevoegt. Anders werkt uw software mogelijk niet meer vanwege validatiefouten.