Warnung
Da ich im Moment diese Seite leider nicht mehr aktiv pflegen und auf dem neuesten Stand halten kann, können manche Informationen bereits veraltet sein. Sollten Änderungen von euch bei mir eintreffen, bin ich jedoch gerne bereit diese hier einzupflegen. Auch Leute, die sich um die Seite bzw. deren Inhalt kümmern möchten, sind gerne gesehen.
 Inhaltsverzeichnis  XML  Was ist XML

2.1Was ist XML?

Die Extensible Markup Language (XML) ist eine erweiterbare Auszeichnungssprache und eine eche Untermenge der 1986 standardisierten Sprache SGML (Standard Generalized Markup Language). Im Jahr 1998 veröffentlichte das W3C die erste Empfehlung (Recommendation) zu XML 1.0. Im Februar diesen Jahres wurde Version 1.1 veröffentlich. Diese Sprache ist einfacher gestaltet und anzuwenden als das doch recht komplizierte SGML. Es wurde v.a. darauf Wert gelegt, daß das Erstellen und Bearbeiten von XML-Dokumenten mit einfachen und weitverbreiteten Werkzeugen möglich ist. Zusätzlich sollte die maschinelle Verarbeitung und die Transformation von Dokumenten und Daten vereinfacht werden.

Obwohl das "ML" in XML für Markup Language steht, handelt es sich bei XML um keine Beschreibungssprache, sondern um eine formale Sprache zur Definition von Markupsprachen.

XML-Dokumente bestehen aus beliebig vielen Textbereichen. Diese werden immer von zwei Begrenzern, den sogenannten Elementen oder Tags, eingeschlossen und durch diese beschrieben. Mit Hilfe von Attributen innerhalb der Tags kann man die Interpretation der Daten beeinflussen.

Um sogenannte wohlgeformte XML-Dokumente zu erhalten, die dem XML-Standard 1.0 entsprechen, müssen folgende Regeln eingehalten werden:

<?xml version="1.0" encoding="UTF-8"?>
<student imma_nr="18063">
  <name>
    <vorname>Hans</vorname>
    <nachname>Dampf</nachname>
  </name>
  <adresse>
    <strasse nr="42">Musterstraße</strasse>
    <ort plz="12345">Musterhausen</ort>
  </adresse>
  <telefon>012345/9876</telefon>
  <mail>h.dampf@fh-aalen.de</mail>
</student>

Listing 2-1: Beispiel eines wohlgeformten XML-Dokuments

Wie in  Listing 2-1 zu sehen ist, lassen sich die Namen für die Bezeichner frei vergeben, so lange sie wie oben beschrieben aufgebaut sind. Dadurch wird ein solches Dokument auch für Menschen relativ leicht lesbar und kann durchaus ohne Hilfe korrekt interpretiert werden.

XML ist außerdem ein offenes System und wurde deshalb auch schon als "ASCII des WWW" bezeichnet. Ein großer Vorteil ist nämlich die Anwendungs- und Plattformunabhängigkeit, was einen Datenaustausch unter fast beliebigen Programmen und Betriebssystemen ermöglicht.

XML-Strukturen können zudem mit Hilfe von Schemasprachen formal definiert werden. Eine Document Type Definition (DTD) wäre eine derartige Schemasprache und definiert eine attributierte und kontextfreie Grammatik (Chomsky II), die Elemente, deren lineare Abfolge, ihre hierarchische Anordnung und ihre Attributmengen. Durch ein wohlgeformtes XML-Dokument und eine passende DTD entsteht ein sogenanntes gültiges oder valides Dokument. Viele XML-Parser sind nicht nur in der Lage, Dokumente auf Wohlgeformtheit hin zu überprüfen, sondern können mit Hilfe der DTD auch eine Validierung vornehmen und somit zusätzlich den Inhalt auf Gültigkeit testen.

Unglücklicherweise besitzt das Konzept der DTD auch einige Beschränkungen und Mängel. So ist die DTD-Syntax verschieden von der XML-Markup-Syntax, was u.a. die automatische Verarbeitung durch Programme erschwert. Es gibt keine Möglichkeit der Vererbung von Objekteigenschaften, DTDs sind schwer zu lesen und zu verstehen und zudem existieren keine Datentypen. Wegen diesen und anderen Gründen wurden mehrere Alternativen entworfen. Die momentan wohl wichtigsten sind die XML-Schemata, die u.a. eine XML-Syntax besitzen und komplexe Typdefinitionen unterstützen. Allerdings sollen auf die XML-Schemata hier nicht weiter eingegangen werden. Für nähere Informationen lohnt sich ein Besuch auf den entsprechenden Web-Seiten des W3C [ W3C04e].

Obwohl es sich bei XML-Dokumenten um reine Daten handelt, gibt es Methoden um solche Dokumente darzustellen. Dafür sind sogenannte Style Sheets - XML Style Sheets (XSL) oder Cascading Style Sheets (CSS) - verantwortlich. Hierbei handelt es sich um Dokumente, welche Formatierungsanweisungen und Regeln, wann diese ausgeführt werden sollen, enthalten. Dadurch lassen sich beispielsweise XML-Dokumente problemlos in andere Dokumentformate transformieren. Am häufigsten wird zur Zeit wohl die Transformation von XML-Dokumenten mittels XSLT (XSL Transformation) in HTML-Seiten angewandt.

Weiterführende Informationen rund um das Thema XML erhält man u.a. ebenfalls direkt beim W3C [ W3C04b].

zum vorherigen Kapitel  XML
zum nächsten Kapitel  Zusammenhang zwischen XML und SVG
 Inhaltsverzeichnis  XML  Was ist XML