EXtensible Markup Language (XML)

Aus dev.kaibel.net
Version vom 8. November 2025, 15:01 Uhr von PhilKa (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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