XML
Diese Seite drucken Hier können Sie uns eine Emaiil schreiben zurück Zur Übersicht vorwärts Links | Archiv   Letzte Änderungen 21.08.2019
     
XML-Teil I: Allgemeines
Platzhalter
XML-Teil I: Allgemeines
XML-Teil II: Entities
XML-Teil III: Namensräume
XML-Teil IV: Style Sheets
XML-Teil V: Dokumentenstrukturen mit DTDs validieren
XML-Teil VI: XLinks & XPointer
XML-Teil VII: Transformationen mit XSLT & XPath
Rezension: Einführung in XML

Von XML wird viel versprochen: Datenaustausch, Datenspeicherung, universelle Editierbarkeit. Es heißt, XML wäre das Format der Zukunft. Es kann also nicht schaden, sich mit XML zu beschäftigen, sofern man das nicht schon getan hat. Unser Tutorial geht auf die wichtigsten Punkte ein, in jeder Folge behandeln wir ein anderes Teilthema.

Dieser erste Teil wird sich mit allgemeinen Feststellungen und noch recht einfachen Konstruktionen beschäftigen.

Was ist XML?


XML ist eine Technologie zur Erstellung von Auszeichnungssprachen. Oder, anders gesagt: XML ermöglicht es einem, selbst so Sachen wie XHTML zu erstellen. XML selbst ist also keineswegs eine Sprache.

Was kann man mit XML tun?


XML - was bringt einem das? Folgende Liste gibt einen Überblick über die Möglichkeiten von XML:

  • Speicherung von Informationen in beliebigen Formen und Formaten

  • Darstellung: mit Style Sheets lassen sich XML-Daten in ein anderes Format bringen und anzeigen

  • Unabhängigkeit: XML ist ein offener, auf Textdateien basierender Standard

  • Qualitätssicherung: viele XML-Werkzeuge können überprüfen, ob das, was Sie eingetippt haben, korrekt ist

  • Internationalität: Unicode (Zeichensatz, der sehr viele Zeichen, auch asiatische, enthält) wird unterstützt

  • Verarbeitung: weder Menschen noch Computer haben Probleme damit


Das Grundprinzip von XML-Daten


Im Prinzip sehen XML-Dateien so ähnlich aus wie HTML-Dateien: es gibt Tags, die Attribute und einen Inhalt haben können. Tags können wieder neue Tags enthalten:

<tag1 attribut="wert">Ich bin ein Text</tag1>
< adresse>
< name>Thomas Morus</name>
< strasse>Krätstr. 10</strasse>
< /adresse>


Nicht alle Tags müssen ein End-Tag der Form Schrägstrich + Tag-Name (zu <name> gehört also </name>) besitzen. Dann ändert sich die Syntax zu <name />: ein Schrägstrich wird vor die letzte spitze Klammer gestellt. Im Folgenden wird die Bezeichnung "Element" synonym mit "Tag" verwendet.

Unter Attribut verstehen wir so etwas wie attribut="wert". Die Zeichenfolge vor dem Gleichheitszeichen gibt den Attribut-Namen an, das dahinter in Anführungszeichen ist der Wert.

Ein erstes echtes Dokument


Erstellen Sie mit Ihrem Texteditor eine Datei namens test.xml und fügen Sie folgenden Inhalt ein:

<?xml version="1.0" encoding="iso-8859-1"?>
< adressen>
< person>
    < name>Hans</name>
    < telefon>6726</telefon>
< /person>
< person>
    < name>Heinz</name>
    < telefon>4456</telefon>
< /person>
< /adressen>


Sie können die Datei jetzt mit einem Programm anzeigen lassen, das XML unterstützt, so z.B. der IE 5. Solche Programme benutzen einen Parser, ein Unterprogramm, das den XML-Code durchgeht und verarbeitet. Ein XML-Prozessor verarbeitet die Daten des Parsers weiter. Das klappt allerdings nur, wenn das Dokument auch wohlgeformt ist. Das erste Beispiel wäre das nicht gewesen, dieses hier schon - wieso?

  • Die erste Zeile hat sich geändert. Im Beispiel wird angegeben, dass wir mit XML Version 1 und einem mitteleuropäischen Zeichensatz arbeiten.

    Diese Zeile gehört damit zum sogenannten "Prolog", der mit den eigentlichen Inhalten nichts zu tun hat. Er ist für Wohlgeformtheit nicht zwingend notwendig, sollte aber trotzdem immer angegeben werden, weil man sonst z.B. Probleme mit deutschen Umlauten bekommt - und das beeinflusst die Wohlgeformtheit dann ganz enorm.

  • Der gesamte Inhalt des Dokuments wird von einem Tag umschlossen: <adressen>


Im Prolog könnte weiterhin eine DTD eingebunden werden, eine Document Type Declaration. Sie legt fest, in welcher Rehenfolge wo Elemente stehen dürfen und welche Inhalte bzw. Attribute sie haben dürfen. Dazu in einem späteren Teil unseres Tutorials mehr.

Es gibt weitere Regeln für Wohlgeformtheit:

  • Jedes Tag muss ein End-Tag haben oder mit einem Schrägstrich vor der spitzen Klammer stehen.

  • Alle Attribut-Werte müssen in Anführungszeichen stehen.

  • Elemente dürfen sich nicht überlappen: <a>Text<b></a></b> wäre falsch.

  • Die Zeichenfolgen <, ]]> und & dürfen nicht direkt im Inhalt verwendet werden. Stattdessen müssen sie durch &lt;, ]]&gt; und &amp; ersetzt werden.

  • Element-Namen dürfen nur mit Buchstaben oder Unterstrichen beginnen und dürfen nur Buchstaben, Zahlen, Bindestriche, Unterstriche und Punkte enthalten. Eventuell auch Doppelpunkte, aber dazu später mehr.


Diese Regeln ermöglichen es Ihnen bereits, erste XML-Dokumente zu schreiben. Später werden sie noch ergänzt, z.B. durch Verwendung einer DTD. Entspricht ein Dokument dann auch noch diesen zusätzlichen Regeln, dann nennt man es "gültig". Solange jedoch keine DTD oder ähnliches angegeben wird, sind die bisher bekannten Regeln die einzigen, die einzuhalten sind.

Seltsame Auszeichnungen


Kommentare...


...werden von Parsern und sonstiger Software ignoriert. Sie werden eingeschlossen von <!-- und -->. Innerhalb eines Kommentars dürfen keine zwei aufeinanderfolgenden Bindestriche verwendet werden.

Beispiel:

<!-- Ich werde ignoriert! -->

Zeichendaten


Zeichendaten-Abschnitte werden vom Parser ignoriert: Sie können dort alle Regeln für Wohlgeformtheit verletzen, ohne dass es negative Konsequenzen hat. Zeichendaten-Abschnitte werden eingeschlossen von <![CDATA[ und ]]>. Verwenden Sie sie nicht zu häufig, denn sie reduzieren die Lesbarkeit.

Beispiel:

<?xml version="1.0" encoding="iso-8859-1"?>
< xml>
Keine Lust, die Sonderzeichen zu quoten:
< ![CDATA[
< html>
< b>Txt!</b><br><br>
< /html>
]]>
< /xml>


Steueranweisungen


Um XML-Prozessoren zu beeinflussen, verwenden Sie Processing Instructions:

<?Name Daten?>

Welche Werte akzeptiert werden, hängt von Ihrem XML-Prozessor ab.

Weitere Themen und Technologien


Die bisherigen Absätze waren eigentlich nur Spielerei - richtig los geht es erst später.

In den nächsten Teilen unseres Tutorials werden wir u.a. folgende Themen behandeln:

  • Entities. Eine Art SSI ohne Server.

  • Namensräume.

  • XPointer: Links in XML.

  • CSS und XML.

  • DTD-Erstellung.

  • XSLT: Umwandlung von Dokumenten.



Autor: Alexander Dilthey | Erstmalig veröffentlicht: 18.06.2002 | Einen Artikel schreiben?