Suche…
Einführung
Die XML-Dokumenttypdeklaration, allgemein als DTD bezeichnet, ist eine Möglichkeit, die XML-Sprache genau zu beschreiben. DTDs prüfen die Gültigkeit, Struktur und das Vokabular eines XML-Dokuments anhand der grammatikalischen Regeln der entsprechenden XML-Sprache. Eine DTD definiert die Struktur und die rechtlichen Elemente und Attribute eines XML-Dokuments.
Dokumenttypdeklaration
Ein XML-Dokument kann eine DTD enthalten. DTD steht für Document Type Declaration . Eine DTD beginnt mit <!DOCTYPE root-element-name >
wobei doc-element-name
mit dem Namen des sogenannten document-Elements (dem Element auf oberster Ebene) übereinstimmen muss.
<?xml version="1.0"?>
<!DOCTYPE document>
<document>
<!-- the rest of the document -->
</document>
Entitäten
Eine DTD kann Entitätsdeklarationen enthalten.
<?xml version="1.0"?>
<!DOCTYPE document [
<!ENTITY my-entity "This is the replacement text">
]>
<document>
<!-- the rest of the document -->
</document>
Entitäten werden in diesem Thema ausführlich beschrieben.
XML-Dokument mit einer internen DTD
Eine DTD wird als interne DTD bezeichnet, wenn Elemente in den XML-Dateien deklariert werden. Um es als interne DTD zu referenzieren, muss das Standalone-Attribut in der XML-Deklaration auf yes gesetzt sein.
Eine XML-Datei, die eine Notiz beschreibt, die Eigenschaften für, aus und eine Nachricht zusammen mit der internen DTD enthält, sieht folgendermaßen aus:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,message>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT message (#PCDATA)>
]>
<note>
<to>Mr.X</to>
<from>Mr.Y</from>
<message>Stack Overflow is awesome </message>
</note>
XML-Dokument mit einer externen DTD
In externen DTD-Elementen werden außerhalb der XML-Datei deklariert. Auf sie wird durch Angabe der Systemattribute zugegriffen, die entweder die legale .dtd-Datei oder eine gültige URL sein können. Um es als externe DTD zu referenzieren, muss das Standalone-Attribut in der XML-Deklaration als nein festgelegt werden.
Eine XML-Datei, die eine Notiz beschreibt, die Eigenschaften für, von und die Nachricht enthält, wird unten angegeben.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Mr.X</to>
<from>Mr.Y</from>
<message>Stack Overflow is awesome</message>
</note>
Externe DTD für die obige XML- Datei note.dtd ist unten angegeben
<!DOCTYPE note [
<!ELEMENT note (to,from,message>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT message (#PCDATA)>
]>