Zuletzt aktualisiert: 25. März 2025

Was ist XML?
XML (Extensible Markup Language) ist eine Auszeichnungssprache und ein Dateiformat, das zum Speichern, Übertragen und Wiederherstellen von Daten verwendet wird. Es bietet einen strukturierten Ansatz zur Kodierung von Informationen, der sowohl für Menschen als auch für Maschinen lesbar ist.
Wesentliche Merkmale von XML
1. Definiert durch offene Standards
- Etabliert vom World Wide Web Consortium (W3C) im Jahr 1998 unter der XML 1.0-Spezifikation.
- Befolgt strenge Regeln, um sicherzustellen, dass Daten strukturiert und leicht zu interpretieren sind.
2. Designziele
- XML ist mit Einfachheit, Allgemeinheit und Benutzerfreundlichkeit auf verschiedenen Plattformen gestaltet.
- Verwendet ein textbasiertes Format, was es einfach macht, es zu lesen und zu bearbeiten.
3. Unicode-Unterstützung
- XML unterstützt Unicode, wodurch Texte in mehreren Sprachen gespeichert und verarbeitet werden können.
4. Vielseitigkeit
- Ursprünglich für Dokumente erstellt, wird XML mittlerweile häufig zur Datenrepräsentation in verschiedenen Bereichen verwendet, einschließlich Webservices, APIs und Konfigurationsdateien.
5. Schema und APIs
- XML-Strukturen können mithilfe von Document Type Definition (DTD), XML Schema (XSD) oder Relax NG definiert werden.
- Verschiedene APIs wie DOM (Document Object Model) und SAX (Simple API for XML) ermöglichen die Verarbeitung von XML.
6. Häufige Verwendungen von XML
- Datenaustausch zwischen verschiedenen Systemen (z.B. Webservices, APIs).
- Konfigurationsdateien in Softwareanwendungen.
- Speichern strukturierter Informationen (z.B. RSS-Feeds, SVG-Grafiken, Dokumentformate wie DOCX).
- Webentwicklung (z.B. XHTML, SOAP, AJAX-basierte Anwendungen).
XML-Übersicht
1. Hauptzweck von XML: Serialisierung
Serialisierung in XML bedeutet:
- Speicherung von Daten in einem strukturierten Format.
- Übertragung von Daten zwischen verschiedenen Systemen.
- Wiederherstellung von Daten in einer verwendbaren Form.
Wenn zwei Systeme Informationen austauschen müssen, bietet XML ein standardisiertes Dateiformat für Interoperabilität. Es fungiert als “lingua franca” für den strukturierten Datenaustausch.
2. XML als Auszeichnungssprache
XML ist eine Auszeichnungssprache, was bedeutet, dass es:
- Daten mit Tags kennzeichnet für eine klare Struktur.
- Informationen hierarchisch organisiert.
- Daten mit Metadaten kategorisiert.
Beispiel:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
Hier sind <book>
, <title>
, und <author>
Tags, die Datenelemente definieren.
3. XML-Schema (XSD) und Validierung
Ein XML Schema (XSD) definiert strukturelle Regeln für XML-Dokumente.
XML-Dokumente können sein:
- Gut geformt → Befolgt grundlegende Syntaxregeln (korrekte Schachtelung, ordnungsgemäße Schlusstags).
- Gültig → Entspricht den Schema-Regeln (obligatorische Elemente, korrekte Datentypen).
Beispiel einer XSD-Regel:
<xs:element name="title" type="xs:string"/>
Dies stellt sicher, dass <title>
einen String-Wert enthalten muss.
4. XML-Medientypen (RFC 7303)
Der IETF RFC 7303 definiert XML-Medientypen für Datenübertragungen:
- application/xml → Standard-XML-Daten.
- application/xml-external-parsed-entity → Geparste XML-Entitäten.
- application/xml-dtd → XML-DTD-Dokumente.
Für XML-basierte Formate wird das Suffix +xml verwendet (z.B. image/svg+xml
für SVG-Bilder).
5. XML in vernetzten Anwendungen (RFC 3470 / IETF BCP 70)
Der IETF BCP 70 (RFC 3470) umreißt Best Practices für die Verwendung von XML in netzwerkbasierten Anwendungen und stellt dabei eine nahtlose Dateninteroperabilität über die Systeme hinweg sicher.
1. Anwendungen von XML
XML ist eine flexible Auszeichnungssprache, die für den Datenaustausch über das Internet entwickelt wurde. Seine Syntax hat zahlreiche Dokumentformate und Kommunikationsprotokolle beeinflusst, was es zu einer grundlegenden Technologie in vielen Branchen macht.
Häufige XML-basierte Formate:
- Web-Feeds: RSS, Atom
- Office-Dokumente: Office Open XML, OpenDocument
- Grafiken und 3D-Modelle: SVG, COLLADA
- Webtechnologien: XHTML
- Datenaustauschprotokolle: SOAP, XMPP
- AJAX: Verwendet XML für asynchronen Datenaustausch
Branchenspezifische Standards mit XML:
- Gesundheitswesen: HL7 (Health Level 7)
- Reisebranche: OpenTravel Alliance
- Finanzen: FpML (Financial products Markup Language)
- Immobilien & Hypotheken: MISMO
- Regierungsdatenaustausch: National Information Exchange Model
XML in der Wissenschaft:
In der Meteorologie wird XML zur operationalen Wetterdatendarstellung gemäß IWXXM-Standards verwendet. Ebenso ist Darwin Information Typing Architecture (DITA) ein weit verbreiteter XML-Standard im Verlagswesen.
2. Schlüsselbegriffe in XML
Das Verständnis der grundlegenden Terminologie in XML ist entscheidend für die effektive Arbeit mit XML-Dokumenten.
Zeichen
Ein XML-Dokument ist eine Folge von Unicode-Zeichen. XML 1.1 erlaubt fast alle Unicode-Zeichen, mit Ausnahme des Nullzeichens (U+0000
), das streng verboten ist.
Prozessor und Anwendung
- Der XML-Prozessor (oder Parser) liest und analysiert die XML-Auszeichnung.
- Die Anwendung erhält strukturierte Daten vom Prozessor und verarbeitet sie.
Markup und Inhalt
XML teilt Zeichen in Markup und Inhalt:
- Markup: Umfasst Elemente, Attribute und Entitäten (z.B.
<tag>
und&
). - Inhalt: Die eigentlichen Daten innerhalb der Elemente.
- CDATA-Bereiche: Erlauben Text, der nicht als Markup geparst werden soll, eingefasst in
<![CDATA[ ... ]]>
.
Tags und Elemente
- Tags: Markup-Konstrukte, die in
< >
eingeschlossen sind.<section>
(Start-Tag)</section>
(End-Tag)<line-break />
(Leerelement-Tag)
- Elemente: Logische Komponenten, die durch Tags definiert sind.
- Beispiel:
<greeting>Hello, world!</greeting>
- Beispiel:
Attribute
Attribute bieten Metadaten für Elemente in Form von Name-Wert-Paaren. Beispiel:
<img src="image.jpg" alt="Beschreibung" />
src="image.jpg"
undalt="Beschreibung"
sind Attribute des<img>
-Elements.
3. Zeichen und Maskierung in XML
Gültige Unicode-Zeichen in XML
XML-Dokumente erlauben nur bestimmte Unicode-Zeichen, um eine ordnungsgemäße Analyse sicherzustellen.
Erlaubte Zeichen in XML 1.0:
- Steuerzeichen:
U+0009
(Tab)U+000A
(Zeilenumbruch)U+000D
(Wagenrücklauf)
- Textzeichen:
U+0020–U+D7FF
U+E000–U+FFFD
U+10000–U+10FFFF
XML 1.1 Erweiterungen:
- Erlaubt alle U+0001–U+001F Steuerzeichen, erfordert jedoch deren Maskierung.
- U+0000 (Null-Zeichen) bleibt verboten.
4. Kodierung in XML
Gängige XML-Kodierungen:
XML unterstützt Unicode-basierte Kodierungen, darunter:
- UTF-8 (empfohlene Standardeinstellung)
- UTF-16 (muss von allen XML-Parsers unterstützt werden)
- ASCII, ISO-8859-X (Legacy-Kodierungen)
Kodierungsdeklaration in XML:
Der XML-Header kann die Kodierung spezifizieren:
<?xml version="1.0" encoding="UTF-8"?>
- Wenn keine Kodierung angegeben ist, wird UTF-8 angenommen.
- UTF-16 erfordert ein BOM (Byte Order Mark) für eine korrekte Erkennung.
5. Maskierung von Sonderzeichen in XML
Da die XML-Syntax bestimmte Zeichen reserviert, müssen diese maskiert werden, um Konflikte zu vermeiden.
Vordefinierte XML-Entitäten:
Zeichen | Maskierte Form | Beispiel |
---|---|---|
< (Kleiner als) | < | I <3 XML → I <3 XML |
> (Größer als) | > | x > y → x > y |
& (Und-Zeichen) | & | AT&T → AT&T |
' (Einfaches Anführungszeichen) | ' | "O'Reilly" → O’Reilly |
" (Doppeltes Anführungszeichen) | " | She said "hello" → Sie sagte “hello” |
Numerische Zeichenreferenzen:
Für Sonderzeichen, die nicht eingegeben werden können, verwenden Sie numerische Referenzen:
- Dezimal:
中 <!-- Chinesisches Zeichen "中" -->
- Hexadezimal:
中 <!-- Chinesisches Zeichen "中" -->
- Beispiel:Wird angezeigt als: I <3 Jörg
<message>I <3 Jörg</message>
Umgang mit Binärdaten:
XML unterstützt keine rohen Binärdaten. Verwenden Sie stattdessen Base64-Kodierung.
6. Kommentare in XML
XML-Kommentarsyntax:
<!-- Dies ist ein gültiger XML-Kommentar -->
Regeln für XML-Kommentare:
- Dürfen nicht vor der XML-Deklaration erscheinen.
- Dürfen nicht
--
(doppeltes Minuszeichen) innerhalb des Kommentars enthalten. - Entity-Referenzen werden in Kommentaren ignoriert.
Beispiel:
<!-- Dies ist ein Kommentar mit < und & Symbolen -->
Schlussfolgerung
XML ist eine wesentliche Technologie für den strukturierten Datenaustausch und treibt Web-Feeds, Office-Dokumente, wissenschaftliche Daten und Industriestandards an. Das Verständnis von wichtigen XML-Begriffen, Kodierungsregeln und Maskierungsmechanismen sichert gut geformte XML-Dokumente, die korrekt über verschiedene Systeme hinweg funktionieren.
Durch das Befolgen von Best Practices in Zeichenkodierung und Maskierung können Entwickler Analysefehler vermeiden und die Kompatibilität in XML-basierten Anwendungen sicherstellen.