Die Extensible Markup Language (XML) wurde 1996 vom World Wide Web Consortium (W3C) der Öffentlichkeit vorgestellt. Als Gremium für die Standardisierung von Techniken hatte das W3C mit dem Sitz am MIT Laboratory for Computer Science in Cambridge (Massachusetts, USA) XML entwickelt. XML ist ähnlich wie HTML eine Auszeichnungssprache und wird plattformunabhängig zum Beispiel im Internet zum Austausch von Daten zwischen Computersystemen eingesetzt.
Ein XML-Dokument besteht in der Regel aus Text im ASCII-Format, binäre Daten dürfen darin nicht vorkommen. Alle XML-Dateien folgen einer Syntax, die wichtigste Struktureinheit ist das "Element". Das Element ist in einem XML-Dokument Träger der Information, unabhängig davon, ob es sich dabei um einen Text, ein Bild oder etwas anders handelt. Ein XML-Dokument wird als "wohlgeformt" (engl. Well-formed) bezeichnet, wenn es alle XML-Regeln beinhaltet.
Document Type Definition und Elemente eines XML-Dokuments
Bei der Document Type Definition (DTD) handelt es sich im eine Art Grammatik dieser Auszeichnungssprache. Alle Elemente besitzen ein Begin- und einen End-Tag. Bei Elementen ohne Inhalt können auch aus nur einem Tag bestehen. Das äußere Element eines XML-Dokuments wird Wurzelelement genannt:
<WurzelElement>
<Inhalt>XML-Dokument</Inhalt>
<Text>Ein wohlgeformtes XML-Dokument</Text>
</WurzelElement>
Ein XML-Dokument kann deutsche, skandinavische oder andere Sonderzeichen enthalten, sofern sie der Unicode UFT-8-Zeichentabelle entsprechen. XML unterscheidet zwischen Groß- und Kleinschreibung. Ist ein XML-Dokument fehlerhaft, zeigen einige Browser den Fehler an, andere stellen das Dokument falsch dar. Jedes XML-Dokument kann vom Browser im Quelltext angezeigt werden.
Beispiel einer XML-Datei:
<?xml version="1.0"?> <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address Type="Shipping"> <Name>Alesando Mustermann</Name> <Street>123 Google Street</Street> <City>Berlin Town</City> <State>DE</State> <Zip>12345</Zip> <Country>Germany</Country> </Address> <Address Type="Billing"> <Name>Tai Yee</Name> <Street>8 Oak Strasse</Street> <City>Old Town</City> <State>PA</State> <Zip>95819</Zip> <Country>USA</Country> </Address> <DeliveryNotes>Falls nicht da, bitte beim Nachbar abgeben.</DeliveryNotes> <Items> <Item PartNumber="658-CA"> <ProductName>Lawnmower</ProductName> <Quantity>1</Quantity> <USPrice>148.95</USPrice> <Comment>Confirm this is electric</Comment> </Item> <Item PartNumber="926-AA"> <ProductName>Gaming Monitor</ProductName> <Quantity>21</Quantity> <USPrice>339.99</DEPrice> <ShipDate>2019-05-21</ShipDate> </Item> </Items> </PurchaseOrder>
Document Object Model (DOM)
In einem XML-Dokument definiert ein Document Object Model (DOM) den Zugriff auf das Dokument und deren Manipulation. DOM ist die Schnittstelle für den Zugriff auf ein XML-Dokument. Durch DOM besteht ein XML-Dokument im Sinne der objektorientierten Programmierung aus Klassen, Methoden und Attributen. Objektorientierte Computerprogramme können dadurch den Inhalt, die Struktur und das Layout eines Dokumentes dynamisch verändern.
XML-Dokumente lassen sich logisch wie ein Stammbaum darstellen. Knoten (engl. nodes) stehen in "verwandtschaftlichen" Beziehungen zueinander. Ein Wurzelknoten (engl. root) hat Kinder (engl. children) als Elementknoten. Knoten mit einem gemeinsamen Elternteil werden Geschwister (engl. siblings) genannt.
Verarbeitung eines XML-Dokuments
Einzelne XML-Programme werden von einem Parser gelesen, auf Gültigkeit überprüft und ausgeführt. Zunächst wird das Dokument gelesen und ein Dokument-Objekt erzeugt. Danach kann mit Methoden des Application Programming Interface (API) auf die Inhalte, Struktur und Layout des Dokuments zugegriffen werden. DOM ermöglicht außerdem die Navigation zwischen den einzelnen Knotenpunkten, das Erzeugen neuer Knoten oder das Verschieben und Löschen vorhandener Knoten. Auch das Auslesen, Verändern und Löschen von Textinhalten ist damit ebenso möglich. Nach der Verarbeitung kann aus dem Dokument-Objekt eine neues XML- oder HTML-Dokument generiert werden.
XML ist eine einfache Sprache, die jeder Anwender schnell lernen kann. Das macht die Sprache zu einer guten Wahl für Anfänger, wie Experten. Wer die Grundregeln verstanden hat, hat mit einer "well-formed" XML-Datei einfache Möglichkeiten, um Daten auf Webseiten zu organisieren und zu aktualisieren.