DTD-Einführung

Die Dokumenttypdefinition (DTD) kann gültige XML-Dokumentbausteine definieren. Sie verwendet eine Reihe gültiger Elemente, um die Struktur des Dokuments zu definieren.

DTD kannzeilenweise in einem XML-Dokument deklariert werden oder als externe Referenz.

interne DOCTYPE-Deklaration

Wenn die DTD in Ihrer XML-Quelldatei enthalten ist, sollte sie durch die folgende Syntax in einer DOCTYPE-Deklaration verpackt werden:

<!DOCTYPE Wurzelelement [Elementdeklarationen]>

Beispiel eines XML-Dokuments mit DTD (Öffnen Sie bitte IE5 oder höher und wählen Sie den Befehl "Quellcode anzeigen"):

<?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>Erinnerung</heading>
  <body>Denken Sie nicht an das Treffen!</body>
</note>

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

Die obige DTD Erklärung wie folgt:

!DOCTYPE notiz [ (Erste Zeile) Definieren Sie dieses Dokument als notiz Typen Dokument.

!ELEMENT notiz (Zweite Zeile) Definition notiz Das Element hat vier Elemente: "to, from, heading, body"

!ELEMENT to (Dritte Zeile) Definition bis Element vom Typ "#PCDATA"

!ELEMENT from (Vierte Zeile) Definition von Element vom Typ "#PCDATA"

!ELEMENT heading (Fünfte Zeile) Definition heading Element vom Typ "#PCDATA"

!ELEMENT body (Sechstes Zeile) Definition body Element vom Typ "#PCDATA"

externes Dokument deklarieren

Wenn die DTD sich im externen XML-Quelldatei befindet, sollte sie durch die folgende Syntax in einer DOCTYPE-Definition verpackt werden:

<!DOCTYPE Wurzelelement SYSTEM "Dateiname">

Dieser XML-Dokument ist identisch mit dem obigen XML-Dokument, aber mit einem externen DTD ausgestattet: (Öffnen Sie es in IE5und wählen Sie den Befehl "Quellcode anzeigen" aus.)

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Erinnerung</heading>
<body>Denken Sie nicht an das Treffen!</body>
</note>

Dies ist die Datei "note.dtd" mit enthaltenem DTD:

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

Warum DTD verwenden?

Durch DTD kann jeder XML-Datei eine Beschreibung ihres eigenen Formats beigefügt werden.

Durch DTD können unabhängige Gruppen einen standardisierten DTD einheitlich verwenden, um Daten auszutauschen.

Ihre Anwendung kann ebenfalls einen standardisierten DTD verwenden, um empfangene Daten von außen zu validieren.

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