Eine Document Type Definition (DTD) ist eine spezifikationsbasierte Methode zur Beschreibung der Struktur und des Inhalts von XML-Dokumenten. Eine DTD definiert die Regeln und Einschränkungen für die Elemente und Attribute, die in einem XML-Dokument verwendet werden können, sowie deren Anordnung und Hierarchie.
Im Allgemeinen definiert eine DTD:
-
Elemente: Die Namen der Elemente, die in einem XML-Dokument verwendet werden können, sowie ihre möglichen Verschachtelungen und Beziehungen zueinander.
-
Attribute: Die Attribute, die einzelnen Elementen zugeordnet werden können, sowie deren Typen und Werte.
-
Entitäten: Entitäten dienen zur Definition von Wiederverwendungsblöcken von Text, Markup oder anderen Elementen innerhalb eines Dokuments.
-
Notationen: Notationen beschreiben, wie Nicht-XML-Inhalte (z. B. Bilder oder multimediale Daten) in ein XML-Dokument eingebettet werden können.
Es gibt zwei Arten von DTDs: interne DTDs und externe DTDs. Eine interne DTD wird innerhalb des XML-Dokuments selbst definiert, während eine externe DTD in einer separaten Datei gespeichert und dann über eine Deklaration im XML-Dokument referenziert wird.
DTDs waren die erste Methode zur Definition der Struktur von XML-Dokumenten und werden auch heute noch häufig verwendet. Allerdings haben XML-Schema-Sprachen wie XML Schema Definition (XSD) und RelaxNG in vielen Fällen die DTDs als bevorzugte Methode zur Strukturdefinition abgelöst, da sie leistungsfähigere und flexiblere Möglichkeiten bieten.