Was ist XML?

15. April 2012 um 11:01 1 Kommentar

Mein letzter längerer Artikel für das Lexikon der Bibliotheks- und Informationswissenschaft (LBI), dessen letzter Band dieses Jahr erscheinen wird, beschreibt die Extensible Markup Language (XML). Wie bei den anderen Artikeln (vgl. Ontologie und Ontologiesprache sowie Metadaten) besteht die Kunst darin, sich auf das wesentliche zu Beschränken und sinnvoll mit den bereits festgelegten Artikeln zu verlinken.

Extensible Markup Language (XML):
Allgemeine Auszeichnungssprache, die 1998 als vereinfachte Form von ↗SGML entwickelt wurde. XML bildet die Grundlage zahlreicher ↗Datenformate, ↗Dateiformate und ↗Dokumentenformate für den ↗Datenaustausch, bspw. ↗Atom, ↗HTML, ↗MODS, ↗METS, ↗OAI-PMH, ↗ONIX, ↗TEI und ↗Topic Maps, teilweise auch als Einbettung anderer Formate (z.B. ↗MARC21, ↗RDF/XML und ↗MPEG-7). Zur Definition einzelner XML-Formate gibt es verschiedene ↗XML Schema-Sprachen (XSD, DTD, Relax NG, Schematron). XML-Validatoren können syntaktisch korrektes ("wohlgeformtes") XML auf Übereinstimmung mit einem Schema (als "valide") überprüfen. Das ↗Datenmodell von XML ist eine Baumstruktur, die aus verschiedenen Elementtypen und ↗Unicode-Zeichenketten besteht. Das Modell ist in XML Infoset und über das Document Object Model (DOM) definiert, welches vor allem für die Verarbeitung von ↗HTML relevant ist. Eine alternative Sicht auf XML-Dokumente für ↗Parser ist die Simple API for XML (SAX).

Die XML-Syntax ist vor allem durch XML-Elemente geprägt, die aus einem Start-Tag und einem End-Tag bestehen; bspw. steht "<title>…</title>" für ein Element mit dem Namen "title". Innerhalb des Elements können Zeichenketten und verschachtelt weitere Elemente stehen. Ein wohlgeformtes XML-Dokument besitzt genau ein Wurzelelement, z.B. "<html>…</html>" im XHTML-Format. Zum Unterscheiden und Kombinieren verschiedener XML-Formate können Elemente mittels ↗URI verschiedenen Namensräumen zugeordnet werden. Start-Tags können zusätzlich Attribute besitzen, das sind ungeordnete Key-Value-Paare.

Neben der eigentlichen XML-Definition (zuletzt 2004 Version 1.1) gibt das ↗W3C Standards für verschiedene XML-Technologien heraus, beispielsweise die Abfragesprachen XPath und XQuery und die Programmiersprache XSLT. Auch andere ↗Programmiersprachen und ↗Datenbanksysteme unterstützen XML. Bei der Verwendung von XML sind zwei Paradigmen festzustellen: die Dokument-Sicht geht von XML als ↗Seitenauszeichnungssprache für geordneten Textinhalten aus ("hierarchy of content objects"), während Daten- oder Objekt-Sicht in XML Objekte mit Eigenschaften und Datentypen sieht (vgl. ↗Entity-Relationship-Datenmodell).

Wie andere Datenstrukturierungssprachen wird XML zur Trennung von zwischen Daten und Programmlogik sowie zwischen Inhalt und Darstellung eingesetzt. Für viele Anwendungen ist XML jedoch trotz der Vereinfachung gegenüber SGML zu komplex oder durch seine Baumstruktur zu beschränkt, so dass auf andere Sprachen wie JSON, YAML, RDF, CSV, Protocol Buffers etc. zurückgegriffen wird.

Literatur: Vonhoegen, H.: Einstieg in XML: Grundlagen, Praxis, Referenz. Galileo Computing, 2011. 6. Auflage. — Wilde, E.; Glushko R. J.: XML Fever. In: Communications of the ACM 51 (2008), S. 40-46. — www.w3.org/XML/

Ein Kommentar »

RSS feed for comments on this post. TrackBack URI

  1. Hm. Attribute sind eher Attribute der Elemente, nicht der Start-Tags. Auch Attribute erlauben die Zuordnung eines namespaces, obwohl das seltener vorkommt.

    Insgesamt scheinen mir die Namespaces etwas zu oberflächlich erwähnt, obwohl m.E. gerade dadurch erst das „X“ in XML realisiert wird und jedenfalls die „Vereinfachung“ von SGML dadurch mehr kann als SGML.

    XPath schiene mir als „Adressierungssprache“ (oder „-syntax“) besser charakterisiert.

    Comment by Thomas Berger — 15. April 2012 #

Sorry, the comment form is closed at this time.