DTD
Aus 4webmaster.de
Die DTD Document Type Definition ist die formale Beschreibung einer XML-Sprachvariante bzw. eines XML-Datenformates. Sie definiert das Vokabular, die Grammatik und die Datentypen einer XML-Struktur, vor allem zum Zwecke der Validierung. Ein XML-Dokument verweist in seiner Doctype-Angabe auf seine DTD.
Validierung
Ähnlich wie Sie bei Datenbank-Tabellen Regeln für gültige Datensätze aufstellen können, oder wie Sie für Eingaben in ein Webformular Gültigkeitsregeln aufstellen, so können Sie auch Regeln für gültige XML-Daten formulieren.
Wenn Sie eine XML-Datei validieren möchten, dann muss überprüft werden,
- ob alle verwendeten Elemente definiert sind,
- ob sie korrekt ineinander verschachtelt sind,
- ob ihre Attribute definiert sind, und
- ob die Attribute erlaubte Werte enthalten.
Diese Informationen können als DTD Document Type Definition formuliert werden. Eine gültige XML-Datei verweist in ihrem Prolog auf die DTD und genügt den dort aufgestellten Regeln.
Eigene Entities definieren
Zusätzlich zur Validierung bietet die Verwendung einer DTD die Möglichkeit, eigene Entities zu definieren. Entities sind Platzhalter für vorgefertigte Inhalte. Z.B. erzeugt die Entity " ein Anführungszeichen. Diese Entity ist immer vordefiniert, aber sie können auch beliebige Textbausteine, Grafiken oder andere XML-Inhalte als Entity definieren.
Standardwerte für Attribute definieren
In einer DTD können auch Standardwerte für Attribute festgelegt werden, die immer dann gesetzt werden, wenn nicht ein anderer Wert explizit angegeben wird.
DOCTYPE: Angabe der DTD
Auf die zu verwendende DTD verweist man mit der DOCTYPE-Angabe.
Diese Angabe erfolgt typischerweise in der zweiten Zeile des XML-Dokumentes, direkt nach der XML-Deklaration.
Je nachdem, ob es sich um die DTD einer offiziellen Spezifikation handelt oder um eine private DTD, verwenden Sie eine andere Syntax. Zum Verweis auf eine private DTD verwenden Sie
<!DOCTYPE
document-element
SYSTEM
"URI" >
Diese Doctype-Angabe besteht aus drei Teilen:
- document-element: der Name des Document-Elementes, z.B. html
- SYSTEM: Klassifizierung der DTD als privat.
- "URI": Adresse des DTD-Dokumentes, z.B. "../myxml.dtd"
Zum Verweis auf die DTD einer offiziellen Spezifikation verwenden Sie einen anderen Syntax:
<!DOCTYPE document-element PUBLIC "Registrierungsart // Eigentümer // Beschreibung // Sprache" "URI" >
Die DTDs aller HTML-Varianten sind beispielsweise öffentlich. Im Artikel Doctype finden Sie die Doctype-Angaben aller (X)HTML-Varianten.
Andere Schemasprachen
Die DTD-Sprache hat zahlreiche Nachteile:
- DTD ist nicht selbst in XML formuliert, sondern in einer proprietären Sprache
- DTD kennt keine Namensräume
- DTD kann nicht zwischen Zahl und Text unterscheiden
Daher werden DTDs wahrscheinlich demnächst vollständig von den (wesentlich komplexeren) siehe auch::XML-Schemata abgelöst. Sprachen wie DTD oder XML-Schema nennt man Schemasprachen. Es gibt weitere Schemasprachen, z.B. Document Structure Description, RELAX NG, Schematron und Examplotron.
Siehe auch
- XML-Schema
- Doctype DOCTYPE-Angaben für HTML
Weblinks
- DTD bei SelfHTML
- Kurzbeschreibung DTD-Syntax
- DTD FH Wedel