Zuletzt aktualisiert: 25. März 2025

Titel - Was ist XML: Ein umfassender Leitfaden

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 &amp;).
  • 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>

Attribute

Attribute bieten Metadaten für Elemente in Form von Name-Wert-Paaren. Beispiel:

<img src="image.jpg" alt="Beschreibung" />
  • src="image.jpg" und alt="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:

ZeichenMaskierte FormBeispiel
< (Kleiner als)&lt;I &lt;3 XMLI <3 XML
> (Größer als)&gt;x &gt; yx > y
& (Und-Zeichen)&amp;AT&amp;TAT&T
' (Einfaches Anführungszeichen)&apos;"O&apos;Reilly"O’Reilly
" (Doppeltes Anführungszeichen)&quot;She said &quot;hello&quot;Sie sagte “hello”

Numerische Zeichenreferenzen:

Für Sonderzeichen, die nicht eingegeben werden können, verwenden Sie numerische Referenzen:

  • Dezimal:
    &#20013;  <!-- Chinesisches Zeichen "中" -->
    
  • Hexadezimal:
    &#x4E2D;  <!-- Chinesisches Zeichen "中" -->
    
  • Beispiel:
    <message>I &lt;3 J&#xF6;rg</message>
    
    Wird angezeigt als: I <3 Jörg

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.