EXtensible Markup Language (XML)

Aus dev.kaibel.net
Zur Navigation springen Zur Suche springen

XML (Extensible Markup Language)

XML (Extensible Markup Language) ist ein textbasiertes Datenformat zur strukturierten Darstellung und Speicherung von Informationen. Es wurde entwickelt, um Datenplattform- und sprachunabhängig auszutauschen und ist sowohl für Menschen lesbar als auch maschinell verarbeitbar.

Ziele und Eigenschaften

XML wurde mit folgenden Zielen konzipiert:

  • Strukturierte Datenrepräsentation
  • Plattform- und Sprachunabhängigkeit
  • Einfache Austauschbarkeit von Daten zwischen Systemen
  • Erweiterbarkeit durch eigene Tags

Wichtige Eigenschaften:

  • Menschenlesbar (Klartextformat)
  • Hierarchische Struktur (Bäume)
  • Selbstbeschreibend durch Tags
  • Standardisiert durch das W3C

Grundaufbau

Ein XML-Dokument besteht aus Elementen, die durch Tags definiert werden.

Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<Person>
    <Name>Alice</Name>
    <Alter>30</Alter>
</Person>

Bestandteile von XML

  • Elemente: Grundbausteine, umfasst durch Start- und Endtags
  • Attribute: Zusätzliche Informationen zu Elementen
  • Textknoten: Werte oder Inhalte innerhalb von Elementen
  • Kommentare: ``
  • Prolog: Metadaten (Version, Encoding)

Beispiel mit Attributen

<Teilnehmer id="123" aktiv="ja">
    <Name>Max</Name>
</Teilnehmer>

Wohlgeformtheit und Validität

Ein XML-Dokument muss wohlgeformt sein:

  • Jeder Starttag braucht einen Endtag.
  • Tags dürfen nicht überlappen.
  • Es muss exakt eine Wurzel geben.

Optional kann ein Dokument zusätzlich validiert werden.

DTD (Document Type Definition)

Definiert die Struktur und erlaubten Elemente.

<!DOCTYPE Person [
<!ELEMENT Person (Name, Alter)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Alter (#PCDATA)>
]>

XML Schema (XSD)

Moderner, typisierter Standard zur Definition von Datenstrukturen.

<xs:element name="Alter" type="xs:int"/>

XML-Namespaces

Namespaces verhindern Namenskonflikte.

<buch xmlns:h="http://example.com/header">
    <h:titel>XML Grundlagen</h:titel>
</buch>

Verarbeitung von XML

XML wird häufig über Parser verarbeitet.

Parser-Typ Beschreibung Einsatz
DOM Lädt gesamtes Dokument in den Speicher Flexible Manipulation
SAX Ereignisbasierte Verarbeitung, kein vollständiger Speicherbedarf Sehr große Dateien
StAX Pull-basierter Streaming-Parser Kontrollierte sequenzielle Verarbeitung

XML in der Praxis

XML wird in vielen Bereichen verwendet:

  • Konfigurationsdateien (z. B. Java EE, Spring)
  • Webservices (SOAP)
  • Datenbankexporte
  • Graphische Oberflächenbeschreibungen (z. B. Android Layout XML)
  • Dokumentformate (z. B. Office Open XML, SVG)

Beispiel: SOAP-Nachricht

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <getDataResponse>
            <value>42</value>
        </getDataResponse>
    </soap:Body>
</soap:Envelope>

Vorteile

  • Klar definierte Struktur
  • Standardisiert und weit verbreitet
  • Selbstbeschreibend
  • Hohe Interoperabilität

Nachteile

  • Höherer Speicherplatzbedarf als Binärformate
  • Parser-Overhead → langsamer als kompakte Formate (z. B. JSON, Protocol Buffers)
  • Komplexität bei umfangreichen Schemas

Vergleich mit JSON

Kriterium XML JSON
Lesbarkeit Menschenlesbar, aber umfangreich Kompakter und einfacher lesbar
Struktur Hierarchisch + Attribute Hierarchisch (Key-Value)
Schemadefinition DTD/XSD weit verbreitet JSON Schema weniger etabliert
Einsatz Enterprise, Webservices, Konfiguration Web-APIs, moderne Anwendungen

Zusammenfassung

  • XML beschreibt strukturierte Daten in einer baumartigen Textform.
  • Es ist universell, erweiterbar und plattformunabhängig.
  • Wohlgeformtheit ist zwingend, Validität optional.
  • Wird in zahlreichen Standards und Enterprise-Systemen verwendet.

Siehe auch

Weblinks