DTD Einführung


Die Dokumenttypdefinition (DTD) kann die zulässigen Bausteine eines XML-Dokuments definieren. Sie verwendet eine Reihe zulässiger Elemente, um die Struktur des Dokuments zu definieren.

Eine DTD kann inline in einem XML-Dokument deklariert oder als externe Referenz eingebunden werden.


Interne DOCTYPE-Deklaration

Wenn die DTD in Ihrer XML-Quelldatei enthalten ist, sollte sie unter Verwendung der folgenden Syntax in eine DOCTYPE-Deklaration eingebettet werden:

<!DOCTYPE root-element [element-declarations]>

XML-Dokumentbeispiel mit einer DTD (bitte in IE5 und höheren Versionen öffnen und View Source auswählen):

<?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>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht</body>
</note>

Öffnen Sie diese XML-Datei in Ihrem Browser und wählen Sie den Befehl "View Source".

Die oben stehende DTD wird wie folgt erläutert:

  • !DOCTYPE note(Zeile 2) definiert, dass dieses Dokument einnote-Dokumenttyp ist.
  • !ELEMENT note(Dritte Zeile) Definition:noteDas Element hat vier Elemente: "to, from, heading, body".
  • !ELEMENT to(Vierte Zeile) Definition:toDas Element ist vom Typ "#PCDATA".
  • !ELEMENT from(Fünfte Zeile) Definition:fromDas Element ist vom Typ "#PCDATA".
  • !ELEMENT heading(Sechste Zeile) Definition:headingDas Element ist vom Typ "#PCDATA".
  • !ELEMENT body(Siebte Zeile) Definition:bodyDas Element ist vom Typ "#PCDATA".

Externe Dokumentdeklaration

Wenn sich die DTD außerhalb der XML-Quelldatei befindet, sollte sie mit der folgenden Syntax in eine DOCTYPE-Definition eingebettet werden:

<!DOCTYPE root-element SYSTEM "filename">

Dieses XML-Dokument ist dasselbe wie das obige XML-Dokument, hat aber eine externe DTD: (, und wählen Sie den Befehl "View Source" aus.)

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Erinnerung</heading>
  <body>Vergiss mich dieses Wochenende nicht!</body>
</note>

Dies 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)>


Warum eine DTD verwenden?

Mit einer DTD kann jede Ihrer XML-Dateien eine Beschreibung ihres eigenen Formats enthalten.

Mit einer DTD können unabhängige Gruppen konsistent eine Standard-DTD verwenden, um Daten auszutauschen.

Und Ihre Anwendung kann auch eine Standard-DTD verwenden, um Daten zu validieren, die von externen Quellen empfangen wurden.

Sie können auch eine DTD verwenden, um Ihre eigenen Daten zu validieren.

Weitere Erweiterungen