Dokumenttyp-Deklaration

Die Document Type Definition (DTD) definiert für ein XML- Dokument dessen erlaubten Elemente sowie diesbezügliche Attribute. Die Dokumenttyp-Deklaration entspricht in etwa einem Vokabular für eine ganz bestimmte Klasse von XML-Dokumenten und dessen Grammatik repräsentieren gleichfalls die Regeln um festzulegen, ob der Inhalt eines Dokumentes gültig oder ungültig ist. Mit Hilfe einer Document Type Definition ist es also möglich ein Dokument auf dessen Gültigkeit (Validität) zu prüfen, indem dessen Struktur der DTD entspricht. Dabei ist ein gültiges Dokument auch immer wohlgeformt.

Die Syntax von DTDs ist allerdings nur so ausdrucksstark um zu entscheiden, welche Elemente Inhalt eines XML-Dokumentes sein können. Allerdings ermöglichen Dokumenttyp-Deklarationen nicht, den Inhalt der Elemente selbst differenziert zu betrachten. Eine präzise Unterscheidung von Datentypen ist erst mit dem vom World Wide Web Consortium ( W3C) standardisierten XML-Schema realisiert worden.

Sofern für ein Dokument keine Document Type Definition oder ein Schema definiert ist, kann es nicht auf Gültigkeit sondern nur auf Wohlgeformtheit geprü ft werden. Neben DTDs und dem W3C XML-Schema ist Relax NG (Regular Language for XML, New Generation) eine weitere Möglichkeit, um die Struktur eines XML-Dokumentes zu beschreiben.

Im Zusammenhang mit XML-Dokumenten muss zwischen Wohlgeformtheit und Gültigkeit differenziert werden:

  • Die Wohlgeformtheit bezieht sich auf die syntaktische Korrektheit eines XML-Dokumentes.
  • Ein XML-Dokument ist gültig, wenn seine Struktur der zugehörigen Dokumenttyp-Deklaration oder alternativ dem referenzierten Schema entspricht. Dabei sind gültige XML- Dokumente auch immer wohlgeformt.

Sobald für ein XML-Dokument eine spezifische DTD vereinbart wurde, ist es die Aufgabe eines XML-Parsers festzustellen, ob das Dokument die festgelegten Regeln einhält oder nicht. Dazu ist es notwendig, dass ein XML-Dokument die DTD einbindet oder auf diese - dann externe DTD - verweist. Eine DTD bestimmt immer aus einer Zusammenstellung von Markup- oder Tag-Deklarationen. So kann festgelegt werden, welche Elemente und wie diese in einem Dokument verwendet werden dürfen. Die DTD definiert daher zunächst einmal Einschränkungen für ein wohlgeformtes XML-Dokument. Dabei kann durch die Verfahrensweise des XML-Prozessors auf die nachfolgende Feststellung der Gültigkeit verzichtet werden, so dass immer noch der Status der Wohlgeformtheit erhalten bleibt.

In DTDs können die im Dokument zulässigen Elementtypen mit ihren Inhaltsmodellen und Attributen definiert werden. Ein Inhaltsmodell legt den erlaubten Inhalt eines Elementes fest. Durch die XML-Spezifikation werden die folgenden Inhaltsmodelle festgeschrieben:

  • EMPTY, ein solches Element hat keinen Inhalt, aber u.U. Attribute.
  • ANY, sofern es sich um wohlgeformtes XML handelt, kann das Element einen beliebigen Inhalt haben.
  • #PCDATA, das Element enthält nur Zeichendaten
  • Gemischter Inhalt, dort können Elemente weitere Unterelemente und Zeichendaten enthalten.
  • Elementinhalt, ein solches Element enthält ausschließlich Unterelemente.

Hinsichtlich der Verwendung von DTDs ist zunächst zu überprüfen, um welche Daten es sich handelt. DTDs haben nur beschränkte Möglichkeiten für spezielle Datenformate - wesentlich besser sind DTDs im Zusammenhang mit Textdokumenten anzuwenden. Das bezieht sich auch auf die mangelhafte Verwendung von DTDs in Bezug auf Datenbanksysteme, da die Syntax von DTDs mit den möglichen Datentypen diesbezüglich nicht aussagekräftig genug ist. Für viele Anwendungen ist die Verwendung von DTDs zur Validierung von Dokumenten aufgrund nachfolgender Einschränkungen nicht möglich:

  • DTDs verwenden eine spezifische - nicht XML - Syntax. Dadurch werden eigene Werkzeuge be-nötigt.
  • Es wird keine Typisierung von Daten unterstützt.
  • Es gibt nur den Datentyp #PCDATA.
  • Angaben zur Kardinalität können nur unzureichend verwendet werden.
  • Fehlende Kompatibilität mit XML-Namensräumen
  • Schlechte Möglichkeiten zur Erweiterbarkeit.
  • Die Definitionen in DTDs sind generell global, was einer objektorientierten Modellierung widerspricht.

Im Folgenden jedoch abschließend zwei bekannte Anwendungen aus der XML-Welt, die auf der Basis von DTDs arbeiten.

SVG Scalable Vector Graphics ( SVG) ist ein grafisches Format für eine Sprache, die durch eine DTD festgelegt ist, und zur Darstellung zweidimensionaler Grafiken verwendet wird. Einsatz findet SVG u.a. bei der Präsentation grafischer Inhalte auf Handys oder PDAs.

SMIL Synchronized Multimedia Integration Language ( SMIL) ist eine Sprache, die bereits 1998 vom W3C in einer ersten Version standardisiert wurde und zur interaktiven Darstellung aus Texten, Videos oder auch Bildern verwendet wird.

Informationen zum Artikel
Deutsch: Dokumenttyp-Deklaration
Englisch: document type definition (XML) - DTD
Veröffentlicht: 16.01.2013
Wörter: 688
Tags: Web-Software
Links: XML-Format, Dokument, Attribut, Klasse, Inhalt
Übersetzung: EN
Sharing: