Dokumenttyp-Definitionen (DTDs)

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

XML ist äußerst flexibel, aber nicht alle Programme, die bestimmte XML-Dokumente lesen müssen, sind ebenso flexibel. Viele Programme können nur mit einigen XML-Anwendungen umgehen, mit anderen jedoch nicht. Zum Beispiel kann Adobe Illustrator Scalable Vector Graphics-(SVG-)Dateien lesen und schreiben, Sie würden von ihm aber nicht verlangen, ein Platform for Privacy Preferences-(P3P-)Dokument zu verstehen. Und innerhalb einer bestimmten XML-Anwendung ist es ziemlich wichtig, dass ein Dokument den Regeln dieser XML-Anwendung folgt. In XHTML beispielsweise dürfen li-Elemente nur Kinder von ul- oder ol-Elementen sein. Browser wissen vermutlich nicht, was sie damit anfangen sollen, oder reagieren falsch, falls li-Elemente in einem blockquote- oder p-Element auftauchen.

XML 1.0 bietet einen Ausweg aus diesem Dilemma: die Dokumenttyp-Definition (DTD). DTDs werden in einer formalen Syntax geschrieben, die genau erklärt, welche Elemente wo im Dokument auftauchen dürfen und wie der Inhalt und die Attribute der Elemente aussehen. Eine DTD kann Aussagen wie »Ein ul-Element enthält nur li-Elemente« oder »Jedes Element angestellter muss ein Attribut sozialversicherungsnummer haben« treffen. Unterschiedliche XML-Anwendungen können unterschiedliche DTDs einsetzen, um festzulegen, was zulässig ist und was nicht.

Ein validierender Parser vergleicht ein Dokument mit seiner DTD und listet alle Stellen auf, an denen das Dokument von den Vorgaben der DTD abweicht. Das Programm kann dann entscheiden, wie es mit den Verletzungen umzugehen gedenkt. Manche Programme werden das Dokument abweisen. Andere versuchen vielleicht, es zu reparieren oder nur das ungültige Element abzuweisen. Die Validierung ist ein optionaler Schritt bei der Verarbeitung von XML. Eine Gültigkeitsverletzung ist nicht unbedingt ein fataler, unbehebbarer Fehler wie eine Verletzung der Wohlgeformtheit, obwohl manche Anwendungen sie möglicherweise wie einen Fatal Error behandeln.

  

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de