Einleitung/Grundlagen


... [ Seminar XML (DTD) ] ... [ Einleitung ] ... [ Fallbeispiel ] ...

Kapitel 1: Einleitung/Grundlagen


Einleitung

Im günstigen Fall haben wir schon einmal selbst Hand an eine HTML-Datei gelegt, entweder mit einem WYSIWYG-Werkzeug oder gar im Quelltext. Letzteres wäre insofern eine ideale Voraussetzung, als dieses Seminar naturgemäß viele Beispiele enthält, die in keinem WYSIWYG-Editor zu sehen sind, da es sich um Quelltexte handelt. Viele davon sind mit etwas HTML-Kenntnissen lesbar. Selbst die Beschreibungen von Dokumentstrukturen, die Dokumenttyp-Definitons (DTD), mit denen man sich in HTML nie herumschlagen muß, sind nur mit einiger Vorkenntnis zu lesen.

Die Extensible Markup Language (XML), ist nicht als Ersatz für HTML gedacht. Sie ist mehr als HTML, weil sie erlaubt, etwas zu tun, das man bislang im Web nur mit zusätzlichen Werkzeugen -- und in geringem Umfang -- tun konnte: beliebige Elemente verwenden. In der Objektorientierung hieße das Äquivalent abstrakte Datentypen (selbstgeschaffene wie Person et cetera -- im Gegensatz zu den vorgegebenen wie »int« oder »char«), und diese beliebigen Elemente werden sich durch das gesamte Seminar als roter Faden ziehen.

So enthielte eine Beschreibung der Struktur (die oben genannte Dokumenttyp-Definition) für ein Adreßbuch wahrscheinlich außer einem Element wie ADRESSBUCH (das das gesamte Dokument einschließt, wie das Element HTML in Web-Dokumenten) weitere Elemente wie VORWAHL, TELNR und PLZ, die innerhalb einer ADRESSE hierarchisch geschachtelt wären (und sein müssen).

XML-Grundlagen

Ein XML-Dokument enthält im wesentlichen ausgezeichnete Daten, deren Struktur eine Dokumenttyp-Definition beschreibt. Wie solche DTDs aussehen, behandeln spätere Kapitel genauer. Außerdem kann das Quelldokument eine sogenannte Processing Instruction (PI = Verarbeitungsanweisung) enthalten, die festlegt, welches Style Sheet hier zum Tragen kommen muß. Es definiert, welche Teile des Dokuments wie darzustellen sind -- und welche nicht.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml:stylesheet type="text/css2" href="tl.css""?>

beispielsweise ist in der ersten Zeile die PI, die am Anfang des Dokuments »sagt«, daß es sich hier um XML in der Version 1.0 handelt und der Zeichensatz sich an den ISO-Richtlinien 8859-1 orientiert. Die Buchstabenfolge »xml« ist in der Spezifikation als Schlüsselwort festgelegt worden; weitere Processing Instructions müssen ebenfalls mit diesen drei Buchstaben beginnen. Das wird insbesondere für Style Sheets gelten, denn wenn eine Applikation das Dokument liest, muß es einen Hinweis auf die Formatierung enthalten. Die Einbindung eines Style Sheet bewirkt, daß der HTTP-Server es ebenfalls an den Client schickt, damit dieser das Dokument entsprechend darstellen kann.


Document Type Definition

Eine DTD beschreibt den strukturellen Aufbau und die logischen Elemente einer Klasse von Dokumenten, genannt Dokumenttyp. Bereits diese Beschreibung läßt den Sinn der HTML-DTD recht fragwürdig erscheinen, behauptet sie doch nichts anderes, als daß alle Dokumente im Web vom gleichen Typ seien. Tatsächlich enthalten HTML-Instanzen aber eine Vielzahl verschiedenartiger Dokumente. Von wissenschaftlichen Arbeiten über Gedichte, Kochrezepte und Homepages bis zu Einkaufskatalogen ist alles vertreten. Doch es würde wohl niemand behaupten, daß all diesen Texten die gleiche Struktur zugrunde läge, oder daß sie alle aus denselben logischen Elementen bestünden.
Warum werden sie aber alle durch die gleiche DTD repräsentiert? Dies ist sicherlich durch die historische Entwicklung bedingt. Glücklicherweise spielt dies inzwischen keine Rolle mehr, denn nun gibt es ja XML als »Ausweg«.

Sobald man aber mehrere gleichartige Texte schreibt, wie zum Beispiel eine Reihe von E-Mails, dann dient eine DTD als Mustervorlage. Ein Editor kann dieses Muster schon beim Schreiben mit dem aktuellen Dokument vergleichen und auf strukturelle Fehler hinweisen. Dies könnte etwa ein fehlender Empfänger sein. Wenn man keine DTD benutzt, kann man von keinem Programm erwarten, daß es »weiß«, aus welche Bestandteilen ein Dokument besteht.

Wenn sich ein Dokument an die Regeln der Spezifikation hält, so nennt man es wohlgeformt. Neben der Wohlgeformtheit gibt es eine zweite Eigenschaft, die ein Dokument auszeichnen kann, die Gültigkeit. Damit ein Dokument auch das »Gütesiegel gültig« erhält, muß in der Definition unbedingt eine DTD angegeben werden, und zwar in der Dokumenttyp-Deklaration. Sie kann entweder extern oder intern vorhanden sein. Die beiden folgenden Beispiele veranschaulichen dies:

<?xml version="1.0"?>
<!DOCTYPE hallo SYSTEM "hallo.dtd"> <!-- extern -->
<hallo>Hallo Welt!</hallo>

<?xml version="1.0"?>
<!DOCTYPE hallo [
  <!ELEMENT hallo (#PCDATA)> <!-- intern -->
]>
<hallo>Hallo Welt!</hallo>

Wenn das Dokument nun auch noch eine Struktur besitzt, die durch die DTD beschrieben wird, dann handelt es sich um eine gültige Instanz. Erste Voraussetzung dafür ist, daß es sich bei dem Element um das Wurzelelement aus der DTD handelt. Im obigen Beispiel ist dies das Element hallo. Die HTML-DTD definiert als Wurzelelement das Element »HTML«. Wie eine DTD im einzelnen aufgebaut ist, erläutert das Seminar später.
Die Schlüsselwörter SYSTEM und PUBLIC stehen für die Referenz der DTD. SYSTEM würde eine private DTD kennzeichnen, die selbstgeschrieben ist und nur in einem begrenztem Umfang genutzt wird. PUBLIC kennzeichnet eine globale DTD, welche (ähnlich der HTML-DTD) allgemein gültig ist und quasi für Jedermann nutzbar ist. Bei PUBLIC wird dann noch vor der eigentlichen URL der DTD ein Name definiert werden müssen.


... [ Seminar XML (DTD) ] ... [ Einleitung ] ... [ Fallbeispiel ] ...