DTD Inleiding

Documenttype definitie (DTD) kan geldige XML-document bouwstenen definiëren. Het gebruikt een reeks geldige elementen om de structuur van het document te definiëren.

DTD kan lineair worden gedeclareerd in een XML-document of als een externe verwijzing.

Interne DOCTYPE-verklaring

Als de DTD is opgenomen in uw XML-bronbestand, moet deze worden ingesloten in een DOCTYPE-verklaring met de volgende syntaxis:

!DOCTYPE root-element [element-declaraties]

Voorbeeld van een XML-document met DTD (open in IE5 of hoger en kies Bekijk broncode):

<?xml version="1.0"?>
!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  !ELEMENT to      (#PCDATA)
  !ELEMENT from    (#PCDATA)
  <!ELEMENT heading (#PCDATA)>
  !ELEMENT body    (#PCDATA)
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Herinnering</heading>
  <body>Vergeten het vergadering!</body>
</note>

Open dit XML-bestand in uw browser en kies het commando "Bekijk broncode".

De volgende DTD-interpretatie:

!DOCTYPE note [ (Tweede regel) Definieer dit document als note soort document.

!ELEMENT note (Derde regel) Definitie note Het element heeft vier elementen: "to, from, heading, body"

!ELEMENT to (Vierde regel) Definitie to Het element is van het type "#PCDATA"

!ELEMENT from (Vijfde regel) Definitie from Het element is van het type "#PCDATA"

!ELEMENT heading (Zesde regel) Definitie heading Het element is van het type "#PCDATA"

!ELEMENT body (Zevende regel) Definitie body Het element is van het type "#PCDATA"

Buitenstaande documentverklaring

Als de DTD zich bevindt buiten de XML-bronbestand, moet deze worden ingesloten in een DOCTYPE-definitie met de volgende syntaxis:

<!DOCTYPE Root-element SYSTEM "Bestandsnaam">

Deze XML-document is hetzelfde als het bovenstaande XML-document, maar heeft een externe DTD: (Open in IE5en kies het commando “Bekijk broncode”.)

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Herinnering</heading>
<body>Vergeten het vergadering!</body>
</note>

Dit is de "note.dtd"-bestand met DTD:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

Waarom DTD gebruiken?

Via DTD kan elke XML-bestand een beschrijving van zijn eigen indeling meebrengen.

Via DTD kunnen onafhankelijke groepen consistent een standaard DTD gebruiken om gegevens uit te wisselen.

En je applicatie kan ook een standaard DTD gebruiken om gegevens te valideren die van buitenaf worden ontvangen.

Je kunt DTD ook gebruiken om je eigen gegevens te valideren.