Impressum | Kontakt | Jobs
Aufdringliche Selbstdarstellung seit 1996
Homepage
von
Alexander
Auer

Wer hat Angst vor XML?

Seit einiger Zeit geistert der Begriff XML durch das Internet. Doch nur wenige wissen schon etwas damit anzufangen. Wir bieten Ihnen eine kurze Einführung in die Welt von XML.

XML steht für ‚Extensible Markup Language'. Es hat die gleichen Wurzeln wie HTML, nämlich SGML.
Zur Erklärung: Markup - Languages sind Auszeichnungssprachen, die es dem Programmierer ermöglichen, Text zu formatieren (wörtlich steht Markup für 'Auszeichnung'). SGML ist der Standard aller Auszeichnungssprachen.

XML selbst ist eigentlich eine Meta-Sprache, die es dem User erlaubt, eigene Befehle zu definieren (basierend auf den von SGML vorgegebenen Standards). Oder anders gesagt: XML liefert die Regeln, die beim Definieren von Dokumenttypen angewandt werden.
Mit XML soll bezweckt werden, daß Dokumente in ihrem Aufbau gewissen Grundmustern folgen. Dadurch lassen sich diese leichter automatisch weiterverarbeiten.
Aber Achtung: Bevor Sie ihre Webpräsenz auf XML umstellen, sollten Sie beachten, daß XML erst von Browsern der eben angelaufenen 5.x Generation unterstützt wird.

Was ist SGML?
SGML steht für ‚Standard Generalized Markup Language' und ist sozusagen die Mutter aller Auszeichnungssprachen. Die Grundidee dahinter ist, die Struktur eines Dokumentes von seinem Layout zu trennen. Vorteile die sich daraus ergeben sind:


SGML selbst entwickelte sich aus GML (Generalized Markup Language), das von Charles Goldfarb, einem IBM Mitarbeiter, entwickelt wurde. Leider ist die Definition von SGML sehr umfangreich und daher für den Einsatz im Internet nur sehr eingeschränkt brauchbar.
XML soll den mehrere hundert Seiten starken SGML-Standard auf nur mehr etwa 20 Seiten drücken und die Sprache dadurch wesentlich flexibler machen. HTML ist übrigens nur eine Art Dialekt von SGML, der auf einen Teil der verwendeten Definitionen zurückgreift.

Welche Vorteile hat XML?
XML wurde nicht dazu entwickelt, HTML zu ersetzen, sondern zu ergänzen. Seine wahre Stärke kann es in den Bereichen zeigen, in denen es um den Austausch und die flexible Handhabung von Datenformaten geht. Praktisch einsetzbar ist XML um den Umgang mit Datenbanken zu erleichtern oder um große Dokumentationsprojekte durchzuführen.
Der große Unterschied zu HTML besteht in der Tatsache, daß HTML nur Formatierungsanweisungen kennt (also <b>, <u>, <h1>, usw.), XML jedoch zusätzlich mit semantischen Befehlen (Tags) arbeitet.

Eigene Befehle definieren?
Grundlage für die Verarbeitung von XML-basierten Dokumenten ist die 'Document Type Definition' (DTD). In dieser sind alle Elemente einer Dokumentenstruktur, deren Eigenschaften und die Beziehung zwischen den Elementen festgelegt.
Die HTML-Spezifikation ist zum Beispiel eine solche DTD. Wer sich je gewundert hat, was die häufig als erstes im Quellcode mancher HTML-Dokumente erscheinende Zeile: <!doctype html public "-//W3C//DTD HTML 3.2//EN"> bedeutet, der hat jetzt eine Antwort. Es ist die Definition des HTML - Dokumententyps nach SGML.

Ein Beispiel für die Deklaration eines Tags in der DTD kann folgendermaßen aussehen:

<!ELEMENT autor - 0 (name, (geburtsort+ | buecher+ | verlage+)? )>
<!ATTLIST autor nummer ID #REQUIRED>

Auf diese Art wird das Element 'Autor' eingeführt. '-0' bezeichnet eine Tagminimierung, d.h. der schließende Befehl (</autor>) kann weggelassen werden. Im Befehl 'Autor' muß der Name vorkommen, wahlweise ('?') können auch die Elemente Geburtsort, Bücher, oder Verlage (das Zeichen '|' steht für 'oder') ein- oder mehrfach (durch '+' definiert) vorkommen.

Zusätzlich wird in <!ATTLIST> das Attribut 'nummer' vom Typ ID definiert. Durch '#REQUIRED' wird veranlaßt, daß dieses Attribut gesetzt werden muß.
Allerdings muß man die Möglichkeiten der Definition eigener Befehle auch gleich wieder einschränken. Die DTD ist kein Wunderding, das es schafft, Befehle aus dem Nichts zu zaubern. Um ein Dokument darstellen zu können, muß der entsprechende Browser den Befehl nämlich interpretieren können. Kennt er ihn nicht, überspringt er ihn einfach.
Selbstdefinierte Tags haben also eher den Sinn, Inhalte mit Datenbankcharakter besser und logischer strukturieren zu können und sie leichter durchsuchbar zu machen.
Wie anfangs schon erwähnt, ist die Interpretation von XML-Dokumenten erst ab der Browsergeneration 5.x möglich.

Beispiel
Anhand des oben definierten Elements 'autor' können wir nun ein kurzes Beispiel - Dokument verfassen.

<autor nummer="a1">
<name>Max Muster</name>
<geburtsort>Wien</geburtsort>
<buecher>Wer hat Angst vor XML</buecher>
<buecher>XML für Anfänger</buecher>
<buecher>SGML leicht gemacht</buecher>
<verlage>ERB Verlag</verlage>
</autor>


Der Aufbau eines SGML / XML Dokuments ist also sehr ähnlich dem eines HTML - Dokumentes. Elemente werden durch Öffnen (z.B. <name>) bzw. Schließen (z.B. </name>) definiert. Auffällig ist, daß die Struktur einer Datenbank nicht unähnlich ist. Und hier liegt auch einer der Hauptanwendungsbereiche von XML: Die Schaffung von Strukturen, die den leichteren Datenaustausch zwischen verschiedenen System (und auch Firmen) bieten können.

Resourcen zu XML / SGML im WWW


Glossar:
Dokumenttyp: Zusammenfassung von Dokumenten die auf die gleichen Elemente (z.B. <b>Beispiel</b>) zurückgreifen und gleichen strukturellen Aufbau aufweisen. HTML stellt einen möglichen Dokumententyp dar.
DTD: Document Type Definition. In einer Datei mit der Endung .dtd festgelegte Definition verwendeter Befehle.
Markup Language: wörtlich: Auszeichnungssprache. Textteile können formatiert werden, z.B. in Fett- oder Kursivschrift, mit Unterstreichungen oder als Überschriften.
Semantische Tags: Im Unterschied zu reinen Formatierungsanweisungen beziehen sich diese auf den Inhalt. Ein möglicher semantischer Befehl wäre <autor>Max Muster</autor>
SGML: Standard Generalized Markup Language. Der Standard für Auszeichnungssprachen.
XML: Extensible Markup Language. Auszeichnungsprache basierend auf SGML, die es ermöglicht, eigene Dokumenttypen festzulegen.


Zurück zur Übersicht