DTD -Tutorial
Was ist eine DTD?
Eine DTD ist eine Dokumenttypdefinition.
Eine DTD definiert die Struktur und die legalen Elemente und Attribute eines XML-Dokuments.
Warum eine DTD verwenden?
Mit einer DTD können sich unabhängige Personengruppen auf eine Standard-DTD zum Austausch von Daten einigen.
Eine Anwendung kann eine DTD verwenden, um zu überprüfen, ob XML-Daten gültig sind.
Eine interne DTD-Deklaration
Wenn die DTD in der XML-Datei deklariert wird, muss sie in die <!DOCTYPE>-Definition eingeschlossen werden:
XML-Dokument mit einer internen DTD
<?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>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
XML-Datei anzeigen »
Wählen Sie in der XML-Datei „Quelle anzeigen“, um die DTD anzuzeigen.
Die obige DTD wird wie folgt interpretiert:
- !DOCTYPE note definiert, dass das Wurzelelement dieses Dokuments note ist
- !ELEMENT note definiert, dass das note-Element vier Elemente enthalten muss: "to,from,heading,body"
- !ELEMENT to definiert das to-Element als Typ "#PCDATA"
- !ELEMENT from definiert das from-Element als Typ "#PCDATA"
- !ELEMENT Überschrift legt fest, dass das Überschriftenelement vom Typ "#PCDATA" ist
- !ELEMENT body legt fest, dass das body-Element vom Typ "#PCDATA" ist
Eine externe DTD-Deklaration
Wenn die DTD in einer externen Datei deklariert ist, muss die <!DOCTYPE>-Definition einen Verweis auf die DTD-Datei enthalten:
XML-Dokument mit Verweis auf eine externe DTD
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML-Datei anzeigen »
Und hier ist die Datei "note.dtd", die die DTD enthält:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>