HTML5-Handbuch - die neuen Features von HTML5
es die Dokumentation der Arbeits-Scripts eines Elektrotechnikers. Ebenso gut lassen sich auf diese Weise Konstruktionszeichnungen, musikalische Kompositionen, Theaterstücke und biochemische Prozesse beschreiben, eigentlich alles, was irgendwelche benennbaren und beschreibbaren Strukturen aufweist. Mit welcher Software man diese Daten visualisieren, abspielen oder anderweitig verarbeiten kann, ist damit noch nicht festgelegt. Es geht zunächst nur darum, Daten sinnvoll zu strukturieren und vollständig zu beschreiben.
Die beiden Beispiele enthalten ganz unterschiedliche Elemente, Attribute, Wertzuweisungen und typische Verschachtelungen. Gemeinsam ist ihnen jedoch, dass sie offensichtlich aus bestimmten erlaubten Elementen, Attributen, Wertzuweisungen und Regeln zur Verschachtelung bestehen. In den beiden Beispielen finden Sie diese Regeln nirgendwo beschrieben. Insofern sind es einfach Fantasiebeispiele. Es gibt jedoch ein standardisiertes Verfahren, um solche Regeln zu definieren und in den Auszeichnungssprachen anzugeben, auf welche Regeln man sich bezieht und wo diese Regeln definiert sind. Dieses standardisierte Verfahren ist XML.
11.2.2 XML, DTDs und Validierung
Die Regeln für erlaubte Elemente, Attribute und Verschachtelungsmöglichkeiten einer XML-gerechten Auszeichnungssprache werden unabhängig von den eigentlichen Daten definiert. Die Daten mit den Definitionen stellen eine sogenannte Dokumenttyp-Definition (engl. document type definition , Abkürzung DTD) dar. XML-fähige Software sollte idealerweise in der Lage sein, solche DTDs auszulesen und Daten, die auf diese DTD Bezug nehmen, nach den Regeln der DTD zu beurteilen. Dabei kann die Software feststellen, ob innerhalb der XML-Daten, die sich auf eine bestimmte DTD beziehen, ungültige Notationen vorkommen. Ungültige Notationen sind z. B. Element- oder Attributnamen, die in der DTD nicht definiert werden, oder Elemente an Stellen, an denen sie aufgrund der DTD-Regeln nicht erlaubt sind. Das Verfahren, um zu überprüfen, ob eine XML-Datei nach den Regeln ihrer zugehörigen DTD fehlerfrei ist, nennt man Validierung (von engl. valid = gültig).
Neben den DTDs hat sich mittlerweile ein zweites Verfahren etabliert, um XML-Sprachen zu definieren: XML-Schemata oder kurz XSD . Ein Vorteil von XML-Schemata gegenüber herkömmlichen DTDs besteht darin, dass es sich selbst um eine XML-Sprache handelt. Die DTD-Syntax leitet sich dagegen von SGML ab, der historischen Mutter aller Auszeichnungssprachen. Ein anderer Vorteil besteht darin, dass sich in XML-Schemata Datentypen definieren lassen. Dadurch lässt sich angeben, ob Elementinhalte beispielsweise nummerisch oder als Datum zu interpretieren sind.
Das Verfahren mit den Sprachdefinition und der Validierung mag anfangs etwas umständlich und aufwendig erscheinen. Doch nur durch dieses Verfahren ist sichergestellt, dass XML-Sprachen nicht nur Fantasiegebilde sind, sondern Sprachen, welche sich an bestimmte, genau definierte Regeln halten. Nur so ist es möglich, dass sich verschiedene Autoren und verschiedene Software-Produkte an die Konventionen einer Sprache halten und diese nicht durch spontane, undefinierte Erweiterungen verwässert und für interpretierende Software unbrauchbar wird. Eine DTD- oder XML-Schema-basierte XML-Sprache zu erweitern ist durchaus möglich, aber wenn, dann auf dem dafür vorgesehenen Weg, nämlich durch Erweiterung der entsprechenden DTD oder des Schemas.
Beispielauszug aus einer DTD
Erläuterung
Das Beispiel zeigt, wie DTD-Definitionen aussehen und welche Konsequenzen sie haben. In dem Beispiel werden verschiedene Elementtypen definiert. Das sind gewissermaßen die logischen Vorlagen für Elemente. Eine Definition wie z. B.
bedeutet, dass es in dieser XML-Sprache ein Element
titel
gibt, das durch die Tags
…
ausgezeichnet wird. Aus den Regeln des Beispiels geht außerdem hervor, dass
…
(und
Weitere Kostenlose Bücher