Neueste Web-Entwicklung Tutorials
 

DTD Tutorial


Was ist eine DTD?

Eine DTD ist eine Document Type Definition.

Eine DTD definiert die Struktur und die rechtlichen Elemente und Attribute eines XML-Dokuments.


Warum eine DTD verwenden?

Mit einer DTD können unabhängige Gruppen von Menschen auf einer Standard-DTD zustimmen Daten für Vertauschen.

Eine Anwendung kann eine DTD verwenden, die XML-Daten gültig zu überprüfen.


Eine interne DTD-Deklaration

Wenn die DTD in der XML - Datei deklariert wird, muss es in der gewickelt werden <!DOCTYPE> Definition:

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>
Anzeigen von XML - Datei »

In der XML - Datei, wählen Sie "view source" die DTD anzuzeigen.

Die obige DTD wird wie folgt interpretiert:

  • !DOCTYPE note legt fest , dass das Wurzelelement des Dokuments beachten ist
  • !ELEMENT note legt fest , dass die Notenelement vier Elemente enthalten: "to,from,heading,body"
  • !ELEMENT to die zu Element definiert Typ sein "#PCDATA"
  • !ELEMENT from definiert die von dem Element des Typs zu sein "#PCDATA"
  • !ELEMENT heading definiert Element die Überschrift vom Typ zu sein "#PCDATA"
  • !ELEMENT body definiert das Körperelement des Typs zu sein "#PCDATA"

Eine externe DTD-Deklaration

Wenn die DTD in einer externen Datei deklariert wird, die <!DOCTYPE> Definition muss einen Verweis auf die DTD - Datei enthalten:

XML-Dokument mit einem 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>
Anzeigen von XML - Datei »

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