DTD
Steht für „Document Type Definition“. Eine DTD definiert die Struktur, Elemente und Attribute eines XML-Dokuments. Sie stellt eine Reihe von Regeln bereit, die XML-Dateien befolgen müssen, und sorgt so für Konsistenz und Gültigkeit bei ähnlichen Dokumenten.
Eine DTD legt Folgendes fest:
- Welche Elemente (Tags) zulässig sind
- Die Reihenfolge und Verschachtelung der Elemente
- Welche Attribute Elemente haben können
- Welche Arten von Werten diese Attribute enthalten dürfen
Nachfolgend sehen Sie ein Beispiel für eine DTD zum Speichern von Automobil-Daten als XML:
<!DOCTYPE automobile [
<!ENTITY header "Car Details">
<!ELEMENT make (#PCDATA)>
<!ELEMENT model (#PCDATA)>
<!ATTLIST model doors (two | four) #REQUIRED>
<!ELEMENT year (#PCDATA)>
<!ELEMENT engine (#PCDATA)>
<!ATTLIST engine transmission (manual | automatic) #REQUIRED>
]>
In der obigen DTD:
- Eine Entität namens header wird mit dem Wert „Car Details“ definiert.
- Elemente wie <make>, <model>, <year> und <engine> werden so deklariert, dass sie geparste Zeichendaten (#PCDATA) enthalten, also Text akzeptieren.
- Attributlisten (ATTLIST) definieren gültige Attributwerte. Beispielsweise muss das Element model für das Attribut doors entweder „two“ oder „four“ angeben, und das Element engine muss ein transmission-Attribut enthalten, dessen Wert entweder „manual“ oder „automatic“ lautet.
Dieses Beispiel aus dem Automobilbereich ist eine relativ einfache Document Type Definition. In realen Anwendungen verwendete DTDs – insbesondere solche, die große XML-Datensätze unterstützen – können Hunderte oder Tausende Zeilen umfassen. Kleine DTDs werden oft in XML-Dokumente eingefügt, während große DTDs als separate Dateien (mit der Erweiterung .DTD) gespeichert und über eine URL referenziert werden. Obwohl neuere Schema-Sprachen wie XML Schema (XSD) flexiblere Möglichkeiten zur Validierung bieten, sind DTDs weiterhin die Standardmethode zum Definieren der Struktur von XML-Dokumenten.
NOTE: HTML 2 bis 4.01 (1995–1999) verwendeten DTDs, um die zulässigen Tags und Attribute einer HTML-Datei zu definieren. HTML5 verzichtete auf externe DTD-Verweise und beginnt jedes HTML-Dokument mit <DOCTYPE html>.
Testen Sie Ihr Wissen