Konzepte Content-Repräsentation & Markup-Sprachen

7.1 Einleitung

In der vorhergehenden Lerneinheit haben Sie bereits Bildungsregeln zur Beschreibung von Dokumenttypen kennengelernt. Es wurde gezeigt, daß jede Regel dabei für einen kleinen Ausschnitt eines Dokuments eine mögliche hierarchische Elementstruktur festlegen kann. Mittels fortgesetzter Anwendung derartiger Regeln lassen sich somit verschiedene Dokumente erzeugen, die alle dem durch die Bildungsregeln definierten Dokumenttyp entsprechen.

Die Regeln dienen allerdings nicht nur zur Bildung von Dokumenten des jeweiligen Typs, sondern können auch von einem XML-Validator herangezogen werden, um die Zugehörigkeit eines Dokuments zu diesem Typ automatisch zu überprüfen. Der Ablauf dieses Validierungsprozesses wird in Abbildung 1 skizziert.

Abbildung 1. XML-Validator (schematisch)

Der Validierungsprozeß beginnt mit dem Wurzelelement des zu überprüfenden Dokuments: Die Bildungsregel für dieses Element wird daraufhin überprüft, ob der aktuelle Inhalt des Wurzelelements der rechten Seite der Regel entspricht. Ist dies nicht der Fall, so gehört das vorliegende Dokument nicht dem gewünschten Dokumenttyp an. Im Erfolgsfall wird die Überprüfung für die Elemente innerhalb des Wurzelelements durchgeführt: Dazu traversiert der Validator das linearisierte Dokument und prüft bei Auftreten einer Start-Markierung, ob der Inhalt dieses Elements der zugehörigen Bildungsregel entspricht. Wenn ja, wird der Prozeß rekursiv für die enthaltenen Elemente fortgesetzt. Wenn nicht, handelt es sich bei dem Dokument doch nicht um eine gültige Instanz des angegebenen Typs.

Im XML-Umfeld werden Dokumente, die dem in Lerneinheit 6 vereinfacht beschriebenen syntaktischen Aufbau folgen und die auf die hier gezeigte Weise erfolgreich von einem validierenden XML-Prozessor überprüft worden sind, als gültig (engl. “valid”) bezüglich der angegebenen Bildungsregeln bezeichnet. Wird keine Überprüfung durchgeführt — etwa weil kein XML-Validator verfügbar ist oder weil keine Bildungsregeln vorliegen — so kann keine Aussage darüber getroffen werden, ob das betrachtete Dokument gültig ist oder nicht. Falls es zumindest syntaktisch korrekt ist, spricht man von einem wohlgeformten (engl. “well-formed”) Dokument. Gültige Dokumente sind somit also immer wohlgeformt, während wohlgeformte Dokumente nicht notwendigerweise gültig sind.

Bei der Betrachtung strukturierter Dokumente in Lerneinheit 6 wurde bereits darauf hingewiesen, daß sich die bildliche Darstellung von Strukturen nicht besonders gut für die Verarbeitung durch einen Computer eignet. Dies gilt nicht nur für die hierarchische Dokumentstruktur, sondern auch für die Bildungsregeln, die einen Dokumenttyp beschreiben. Eine Automatisierung des Verabeitungsprozesses für strukturierte Dokumente erfordert daher nicht nur die Repräsentation der Inhaltsinformationen in einem geeigneten Textformat (vgl. Lerneinheit 6), sondern auch der Beschreibung des jeweiligen Dokumenttyps. Bei der Standardisierung von SGML wurde daher eine Notation entwickelt, die es erlaubt, die Bildungsregeln als Bestandteil eines Dokuments aufzufassen. Um eine größtmögliche Rückwärtskompatibilität mit SGML zu gewährleisten, wurde diese Syntax schließlich auch in XML übernommen.

Der formalisierbare Teil der Beschreibung eines Dokumenttyps befindet sich im Falle von SGML und XML in einer sogenannten Dokumenttyp-Definition (DTD). Soll die Zugehörigkeit eines Dokuments zu einem Dokumenttyp anhand einer DTD überprüft werden können, so muß diese Bestandteil des Dokuments sein. Ein SGML/XML-Dokument verfügt daher über die Möglichkeit, die Zugehörigkeit zu einem bestimmten Dokumenttyp über eine Dokumenttyp-Deklaration formal anzugeben.

Im einfachsten Fall enthält die Dokumenttyp-Deklaration lediglich die Angabe des Wurzelelements und eine Referenz auf eine extern zu findende DTD. Dies ist insbesondere dann sinnvoll, wenn standardisierte Dokumenttypen, z.B. für HTML, verwendet werden sollen, wie in Beispiel 1 verdeutlicht.

Beispiel 1. Ein einfaches XHTML-Dokument

      <!DOCTYPE html SYSTEM "html10.dtd">
      <html>
	<head>
	  <title>
	    Mein erstes XHTML-Dokument
	  </title>
	</head>
	<body>
	  <p>
	    Ein einfaches Dokument nach XHTML 1.0
	  </p>
	</body>
      </html>
    

Das Beispiel verwendet eine DTD für XHTML,Version 1.0, die in der Datei html10.dtd gespeichert ist. Anhand dieser DTD soll im folgenden der grundsätzliche Aufbau von Bildungsregeln in XML erläutert werden. Zu beachten ist, daß in diesem Bereich die meisten Einschränkungen von XML gegenüber der Vorgängersprache SGML zu finden sind. Während in dieser Lerneinheit im wesentlichen auf die in beiden Sprachen vorhandene Funktionalität eingegangen wird, beschreibt Lerneinheit 8 schließlich die wichtigsten Unterschiede zwischen XML und SGML.

Wie zu erkennen ist, beginnt die Dokumenttyp-Deklaration mit der Zeichenkette “<!”, gefolgt von dem Schlüsselwort DOCTYPE, und erstreckt sich bis zum folgenden Auftreten des Zeichens “>”. Im folgenden werden einige weitere Arten von Deklarationen vorgestellt, die ebenfalls mit der Zeichenkette “<!” eingeleitet werden. Ein XML- bzw. SGML-Parser unterscheidet diese unterschiedlichen Arten von Markup-Deklarationen an Hand des nachfolgenden Schlüsselworts.

Kommentare (0)

Ihr Kommentar

Name