EXtensible Markup Language (XML): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
PhilKa (Diskussion | Beiträge) 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…“ |
PhilKa (Diskussion | Beiträge) 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'' | ||
* | * ''Plattform- und Sprachunabhängigkeit'' | ||
* | * ''Einfache Austauschbarkeit von Daten zwischen Systemen'' | ||
* | * ''Erweiterbarkeit durch eigene Tags'' | ||
Wichtige Eigenschaften: | Wichtige Eigenschaften: | ||
| Zeile 18: | Zeile 18: | ||
== Grundaufbau == | == Grundaufbau == | ||
Ein XML-Dokument besteht aus Elementen, die durch | 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 | ||
* | * ''Attribute:'' Zusätzliche Informationen zu Elementen | ||
* | * ''Textknoten:'' Werte oder Inhalte innerhalb von Elementen | ||
* | * ''Kommentare:'' `<!-- Kommentar -->` | ||
* | * ''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 | 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 | 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) | ||
* | * ''Webservices (SOAP)'' | ||
* | * ''Datenbankexporte'' | ||
* | * ''Graphische Oberflächenbeschreibungen'' (z. B. Android Layout XML) | ||
* | * ''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.