EXtensible Markup Language (XML): Unterschied zwischen den Versionen

Aus dev.kaibel.net
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „= 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…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 6: Zeile 6:
== Ziele und Eigenschaften ==
== Ziele und Eigenschaften ==
XML wurde mit folgenden Zielen konzipiert:
XML wurde mit folgenden Zielen konzipiert:
* **Strukturierte Datenrepräsentation**
* ''Strukturierte Datenrepräsentation''
* **Plattform- und Sprachunabhängigkeit**
* ''Plattform- und Sprachunabhängigkeit''
* **Einfache Austauschbarkeit von Daten zwischen Systemen**
* ''Einfache Austauschbarkeit von Daten zwischen Systemen''
* **Erweiterbarkeit durch eigene Tags**
* ''Erweiterbarkeit durch eigene Tags''


Wichtige Eigenschaften:
Wichtige Eigenschaften:
Zeile 18: Zeile 18:


== Grundaufbau ==
== Grundaufbau ==
Ein XML-Dokument besteht aus Elementen, die durch **Tags** definiert werden.
Ein XML-Dokument besteht aus Elementen, die durch ''Tags'' definiert werden.


=== Beispiel ===
=== Beispiel ===
Zeile 30: Zeile 30:


== Bestandteile von XML ==
== Bestandteile von XML ==
* **Elemente:** Grundbausteine, umfasst durch Start- und Endtags   
* ''Elemente:'' Grundbausteine, umfasst durch Start- und Endtags   
* **Attribute:** Zusätzliche Informationen zu Elementen   
* ''Attribute:'' Zusätzliche Informationen zu Elementen   
* **Textknoten:** Werte oder Inhalte innerhalb von Elementen   
* ''Textknoten:'' Werte oder Inhalte innerhalb von Elementen   
* **Kommentare:** `<!-- Kommentar -->`   
* ''Kommentare:'' `<!-- Kommentar -->`   
* **Prolog:** Metadaten (Version, Encoding)
* ''Prolog:'' Metadaten (Version, Encoding)


=== Beispiel mit Attributen ===
=== Beispiel mit Attributen ===
Zeile 44: Zeile 44:


== Wohlgeformtheit und Validität ==
== Wohlgeformtheit und Validität ==
Ein XML-Dokument muss **wohlgeformt** sein:
Ein XML-Dokument muss ''wohlgeformt'' sein:
* Jeder Starttag braucht einen Endtag.
* Jeder Starttag braucht einen Endtag.
* Tags dürfen nicht überlappen.
* Tags dürfen nicht überlappen.
* Es muss exakt eine Wurzel geben.
* Es muss exakt eine Wurzel geben.


Optional kann ein Dokument zusätzlich **validiert** werden.
Optional kann ein Dokument zusätzlich ''validiert'' werden.


=== DTD (Document Type Definition) ===
=== DTD (Document Type Definition) ===
Zeile 91: Zeile 91:
== XML in der Praxis ==
== XML in der Praxis ==
XML wird in vielen Bereichen verwendet:
XML wird in vielen Bereichen verwendet:
* **Konfigurationsdateien** (z. B. Java EE, Spring)
* ''Konfigurationsdateien'' (z. B. Java EE, Spring)
* **Webservices (SOAP)**
* ''Webservices (SOAP)''
* **Datenbankexporte**
* ''Datenbankexporte''
* **Graphische Oberflächenbeschreibungen** (z. B. Android Layout XML)
* ''Graphische Oberflächenbeschreibungen'' (z. B. Android Layout XML)
* **Dokumentformate** (z. B. Office Open XML, SVG)
* ''Dokumentformate'' (z. B. Office Open XML, SVG)


=== Beispiel: SOAP-Nachricht ===
=== Beispiel: SOAP-Nachricht ===

Aktuelle Version vom 8. November 2025, 14:01 Uhr

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