XML: Bedeutung und Definition
XML steht für Extensible Markup Language, also „erweiterbare Auszeichnungssprache“. Das Format wurde 1998 zur W3C-Empfehlung und beschreibt Daten mit Tags, die Sie selbst benennen – genau das meint „extensible“. Anders als HTML hat XML keine vordefinierten Tags: Ein Katalog kann <product> und <price> verwenden, eine Rechnung <item> und <total>.
Ein winziges XML-Dokument sieht so aus: <book id="1"><title>XML Basics</title><year>2026</year></book>. XML ist reiner Text – Menschen können es lesen, und jede Programmiersprache kann es verarbeiten. XML speichert und strukturiert nur Daten, von selbst tut es nichts. Programme entscheiden, was die Daten bedeuten und wie sie angezeigt werden.
Die Syntaxregeln von XML
Jedes XML-Dokument muss einige strenge Regeln einhalten. Ein Dokument, das sie befolgt, heißt wohlgeformt:
- Es gibt genau ein Wurzelelement, das alle anderen Elemente enthält.
- Jedes Element wird geschlossen:
<name>…</name>oder selbstschließend wie<br/>. - Elemente sind korrekt verschachtelt:
<b><i>…</i></b>, niemals<b><i>…</b></i>. - Bei Namen wird zwischen Groß- und Kleinschreibung unterschieden:
<Item>und<item>sind verschiedene Elemente. - Attributwerte stehen immer in einfachen oder doppelten Anführungszeichen.
&und<werden im Text als&und<maskiert.- Die optionale Deklaration
<?xml version="1.0" encoding="UTF-8"?>muss ganz am Anfang stehen.
Kommentare werden als <!-- … --> geschrieben. Ein XML-Validator prüft all diese Regeln in Sekundenschnelle und zeigt die Zeile jedes Fehlers an.
Elemente und Attribute
Ein Element besteht aus Start-Tag, Inhalt und End-Tag: <price>19.90</price>. Elemente können Text, andere Elemente oder beides enthalten. Ein Attribut ist ein Name-Wert-Paar im Start-Tag: <price currency="EUR">.
| Element | Attribut | |
|---|---|---|
| Beispiel | <color>red</color> | color="red" |
| Wiederholbar | Ja | Nein, einmal pro Element |
| Kann Kindelemente enthalten | Ja | Nein, nur Text |
| Reihenfolge ist relevant | Ja | Nein |
Eine gängige Konvention: Elemente für die eigentlichen Daten und für alles, was sich wiederholen oder eine Struktur haben kann; Attribute für Metadaten wie IDs, Einheiten oder Typen.
Wohlgeformtes vs. gültiges XML
Wohlgeformtes XML hält die Syntaxregeln ein; alles andere lehnen Parser ab. Gültiges (valides) XML ist wohlgeformt und entspricht zusätzlich einem Schema, das festlegt, welche Elemente und Attribute erlaubt sind – in welcher Reihenfolge und mit welchen Datentypen.
- DTD (Document Type Definition) ist die ursprüngliche Schemasprache und direkt in XML 1.0 eingebaut. Sie kann auch Entitäten wie
deklarieren. - XSD (XML Schema Definition) ist selbst in XML geschrieben und unterstützt Datentypen wie Datumsangaben und Dezimalzahlen. E-Rechnungsformate wie CFDI, NF-e und UBL veröffentlichen XSD-Schemas.
XML-Namespaces
Da jeder Tag-Namen erfinden kann, verwenden zwei Vokabulare womöglich denselben Namen – etwa den <title> eines Buches und den <title> einer Person. Namespaces (Namensräume) halten sie auseinander, indem sie Namen an einen URI binden. xmlns:cfdi="http://www.sat.gob.mx/cfd/4" deklariert das Präfix cfdi, sodass <cfdi:Comprobante> zum mexikanischen CFDI-4.0-Vokabular gehört. Ein Standard-Namespace, xmlns="…" ohne Präfix, gilt für jedes Element ohne Präfix innerhalb davon. Der URI ist nur ein Bezeichner; von dort wird nichts heruntergeladen.
XML vs. JSON vs. HTML
| XML | JSON | HTML | |
|---|---|---|---|
| Zweck | Strukturierte Daten und Dokumente speichern und austauschen | Daten austauschen, vor allem in Web-APIs | Webseiten darstellen |
| Tag- bzw. Schlüsselnamen | Selbst definiert | Selbst definiert | Durch den HTML-Standard festgelegt |
| Datentypen | Text, sofern kein Schema Typen festlegt | String, Zahl, Boolean, null, Array, Objekt | Text |
| Attribute | Ja | Nein | Ja |
| Kommentare | Ja | Nein | Ja |
| Schemas | DTD, XSD | JSON Schema | – |
| Syntaxfehler | Von Parsern abgelehnt | Von Parsern abgelehnt | Von Browsern repariert |
JSON ist kürzer und lässt sich direkt auf JavaScript-Objekte abbilden – deshalb sind die meisten Web-APIs darauf umgestiegen. XML bleibt stark, wo Dokumente Text und Markup mischen, Namespaces brauchen oder streng gegen Schemas validiert werden müssen – deshalb setzen Steuerbehörden, Verlage und Office-Formate weiterhin darauf.
Was ist eine XML-Datei und wie öffnen Sie sie?
Eine .xml-Datei ist eine reine Textdatei, die ein XML-Dokument enthält, meist in UTF-8 kodiert. Weil es Text ist, kann jeder Texteditor sie öffnen – der Editor (Notepad) unter Windows, TextEdit auf dem Mac oder ein Code-Editor wie VS Code. Chrome und Firefox zeigen XML-Dateien als Baum an, wenn Sie sie in ein Browserfenster ziehen, und Excel kann XML-Daten in eine Tabelle importieren.
Viele Dateien verwenden XML ohne die Endung .xml: .svg-Grafiken, .rss-Feeds, .xsd-Schemas, .xsl-Stylesheets, .config-Dateien in .NET und .plist-Dateien unter macOS, die als XML gespeichert sein können. Word-, Excel- und PowerPoint-Dateien (.docx, .xlsx, .pptx) sind ZIP-Archive voller XML-Dateien.
Wofür wird XML verwendet?
- Sitemaps:
sitemap.xmlteilt Suchmaschinen mit, welche Seiten eine Website hat. - RSS- und Atom-Feeds: Nachrichtenseiten, Blogs und Podcasts veröffentlichen ihre Updates als XML.
- SVG: Vektorgrafiken im Web sind XML-Dokumente.
- Office-Dateien: Office Open XML (DOCX, XLSX, PPTX) und OpenDocument (ODT, ODS) sind ZIP-Pakete aus XML-Dateien.
- E-Rechnungen: CFDI in Mexiko und NF-e in Brasilien sind XML-Dateien, die digital signiert und autorisiert werden müssen, bevor sie rechtsgültig sind; UBL ist das XML-Format hinter der Peppol-E-Rechnung in Europa und darüber hinaus.
- SOAP-Webservices: Banken, Zahlungsdienstleister und Behördensysteme tauschen XML-Nachrichten aus, die durch WSDL-Dateien beschrieben werden.
- Android-Apps: Layouts, String-Ressourcen und
AndroidManifest.xmlsind in XML geschrieben. - Konfiguration: Mavens
pom.xml, die .NET-Dateiweb.configund viele weitere Build- und Servereinstellungen.
Häufig gestellte Fragen
Wofür steht XML?
Für Extensible Markup Language. „Extensible“ (erweiterbar) bedeutet, dass Sie Ihre eigenen Tags definieren, und „Markup“ (Auszeichnung) bedeutet, dass die Struktur als Tags rund um die Daten geschrieben wird.
Ist XML eine Programmiersprache?
Nein. XML ist ein Datenformat: Es beschreibt und strukturiert Informationen, kann aber nichts berechnen. Verwandte Technologien wie XPath und XSLT fragen XML ab und transformieren es.
Wird XML heute noch verwendet?
Ja. JSON hat XML in vielen Web-APIs abgelöst, doch XML bleibt der Standard für Sitemaps, RSS-Feeds, SVG, Office-Dokumente, Android-Layouts, SOAP-Services und – in vielen Ländern – für E-Rechnungen.
Zuletzt aktualisiert: