Extensible Markup Language
XML (Extensible Markup Language) ist ein Begriff aus der Computertechnik und bezeichnet einen Standard zur Definition von Auszeichnungssprachen, der als Untermenge von SGML konzipiert wurde.
Gleichzeitig steht XML in einer losen Verwandtschaft zu HTML, welches ursprünglich (d.h. bis einschließlich zur Spezifikationsversion 4.01) selbst als Anwendung von SGML definiert wurde.
Mit der "Extensible HyperText Markup Language" (XHTML) wurde der Übergang zu XML als Definitionsbasis vollzogen.
Die Namen der einzelnen Strukturelemente für eine bestimmte Auszeichnungssprache lassen sich frei wählen.
Mit XML kann man verschiedene Datenformate (inklusive Text) auszeichnen.
Eine XML-Datei die als "wohlgeformt" bezeichnet wird, muss die Regeln für XML korrekt einhalten (was z.B. Verschachtelungen von Elementen betrifft).
Grundgedanke hinter XML ist es, Daten und ihre Repräsentation zu trennen. Also beispielsweise Wetterdaten einmal als Tabelle oder als Grafik auszugeben, aber für beide Anwendungen die gleiche Datenbasis im XML-Format zu nutzen. Programme, die XML-Daten verarbeiten, nennt man XML-Parser.
Soll XML für den Datenaustausch verwendet werden, so sollten die Daten einer Dokumenttyp-Definition oder einem XML Schema entsprechen.
Ein gültiges XML-Dokument enthält darüberhinaus die XML-Deklaration und Dokumenttyp-Deklaration, in der die Regeln definiert werden.
Aufbau einer XML-Datei
Beispiel einer XML-Datei
<?xml version="1.0"?>
<enzyklopaedie>
<eintrag>
<stichwort>Genf </stichwort>
<eintragstext>Genf ist der Sitz von...</eintragstext>
</eintrag>
</enzyklopaedie>
XML-Dateien sind hierarchisch strukturiert.
Die Dateien sind plattformunabhängig.
Wenn nicht anders angegeben sind XML-Dateien in Unicode, genauer gesagt in UTF-8 kodiert.
Einige Web-Browser können XML-Dateien mit Hilfe eines eingebauten XML-Parsers direkt darstellen. Dies geschieht entweder in Verbindung mit einem Stylesheet, alternativ dazu können die Daten auch mit XSL transformiert werden. Diese Transformation kann die Daten in ein komplett anderes Format umwandeln, das Zielformat muss nicht einmal XML sein.
XML-Dokumente bestehe aus:
- Elemente
- Start-Tag, End-Tag, Empty-Tag
- Attribute: An einem Element anhängende Schlüsselwort-Werte-Paare
- Entities: Platzhalter, die bei der Auswertung durch anderen Inhalt ersetzt werden
- Zeichenreferenzen
- Allgemeine Entities (u.a. externe)
- Processing-Instructions
- Kommentare
- CDATA-Abschnitte
- DTD
Vorgänger von XML
Kerntechnologien
- APIs zur Verarbeitung von XML sind SAX, DOM
- Einzelne Dokumenttypen (XML-Formate) werden mit Hilfe einer Document Type Definition oder mit XML Schema definiert
- XSL (XSLT, XPath, XSL-FO), XLink, XPointer
Hier noch nicht behandelt:
Siehe auch: XQuery, RDF, XTM, XML-Datenbank...
Anwendungen von XML
- (Text-)dokumentenformate (siehe dort)
- Weitere Datenformate
- RDF
- www.abiword.org (englisch)
- Microsoft Office (Seit der Version "Office 2003" ist das Editieren von speziellen XML Dateien möglich, zuvor war nur eine unzulängliche XML-Unterstützung vorhanden)
- Anzeigeprogramme
- Mozilla
- Netscape (ab Version 6)
- Internet Explorer
- Opera
Referenz
- W3.org
- XML in 10 Punkten
- Vorlesung über XML
- Publizieren mit XML (Universität Hannover)