XML: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
'''XML (Extensible Markup Language)''' ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. | '''XML (Extensible Markup Language)''' ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. | ||
Es verwendet verschachtelte Tags, um Daten hierarchisch | Es verwendet verschachtelte Tags, um Daten eindeutig und hierarchisch zu beschreiben. | ||
Im Gegensatz zu HTML gibt XML '''keine festen Tags vor''', sondern erlaubt die Definition eigener Elemente. | |||
== Aufbau == | == Aufbau == | ||
| Zeile 17: | Zeile 19: | ||
</Person> | </Person> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Grundregeln (Wohlgeformtheit) == | |||
Ein XML-Dokument muss '''wohlgeformt''' sein, sonst kann es nicht verarbeitet werden. | |||
=== Regeln === | |||
* Es darf '''nur ein Wurzelelement''' geben | |||
* Alle Tags müssen '''geschlossen''' werden | |||
* Tags müssen '''korrekt verschachtelt''' sein | |||
* Groß-/Kleinschreibung ist '''relevant''' | |||
* Attribute müssen '''in Anführungszeichen''' stehen | |||
Beispiel (falsch): | |||
<syntaxhighlight lang="xml"> | |||
<Person> | |||
<Name>Anna</Name> | |||
<Alter>25 | |||
</Person> | |||
</syntaxhighlight> | |||
Fehler: | |||
* <Alter> nicht geschlossen | |||
Beispiel (richtig): | |||
<syntaxhighlight lang="xml"> | |||
<Person> | |||
<Name>Anna</Name> | |||
<Alter>25</Alter> | |||
</Person> | |||
</syntaxhighlight> | |||
== Validität == | |||
Ein XML-Dokument ist '''valide''', wenn es zusätzlich zu den Grundregeln einer definierten Struktur entspricht. | |||
Das wird überprüft durch: | |||
* '''DTD (Document Type Definition)''' | |||
* '''XSD (XML Schema Definition)''' | |||
Beispiel: | |||
* Ein <Person>-Element muss Name und Alter enthalten | |||
* Reihenfolge und Datentypen können festgelegt werden | |||
== Elemente vs. Attribute == | |||
XML unterscheidet zwischen Elementen und Attributen: | |||
<syntaxhighlight lang="xml"> | |||
<Person id="1"> | |||
<Name>Anna</Name> | |||
</Person> | |||
</syntaxhighlight> | |||
* '''Element''' → <Name>Anna</Name> | |||
* '''Attribut''' → id="1" | |||
=== Unterschied === | |||
{| class="wikitable" style="width:100%; text-align:center;" | |||
! Element !! Attribut | |||
|- | |||
| speichert Daten || beschreibt Daten | |||
|- | |||
| kann verschachtelt werden || keine Verschachtelung | |||
|- | |||
| flexibel || eher Zusatzinformationen | |||
|} | |||
== Hierarchische Struktur == | |||
XML ist baumartig aufgebaut: | |||
<pre> | |||
Person | |||
├── Name | |||
├── Alter | |||
└── Ort | |||
</pre> | |||
* Eltern-Element → <Person> | |||
* Kind-Elemente → <Name>, <Alter>, <Ort> | |||
== Namensregeln == | |||
* dürfen mit Buchstaben oder _ beginnen | |||
* keine Leerzeichen | |||
* keine Sonderzeichen wie < > / | |||
* sollten aussagekräftig sein | |||
== Merkmale == | == Merkmale == | ||
* streng strukturiert | * streng strukturiert | ||
* hierarchische | * hierarchische Datenstruktur | ||
* menschen- und maschinenlesbar | * menschen- und maschinenlesbar | ||
* erweiterbar (eigene Tags) | |||
* erweiterbar ( | * plattformunabhängig | ||
== Vorteile == | == Vorteile == | ||
* | * flexibel und erweiterbar | ||
* | * standardisiert | ||
* validierbar | * validierbar | ||
* | * geeignet für komplexe Datenstrukturen | ||
== Nachteile == | == Nachteile == | ||
* viel Overhead | * viel Overhead → große Dateien | ||
* | * schwerer lesbar als [[JSON]] | ||
* | * benötigt Parser | ||
* langsamer als kompaktere Formate | |||
== Typische Einsatzgebiete == | == Typische Einsatzgebiete == | ||
* Konfigurationsdateien | * Konfigurationsdateien | ||
* | * Datenaustausch zwischen Systemen | ||
* Dokumentformate ( | * Webservices (SOAP) | ||
* | * Dokumentformate (SVG, EPUB, Office-Formate) | ||
* Schnittstellen in Enterprise-Systemen | |||
== Best Practices == | |||
* klare und konsistente Tag-Namen verwenden | |||
* möglichst Elemente statt Attribute für Daten | |||
* Einrückungen zur besseren Lesbarkeit nutzen | |||
* Validierung mit XSD nutzen | |||
* keine unnötig tiefen Verschachtelungen | |||
== Kurzmerksatz == | == Kurzmerksatz == | ||
'''XML beschreibt Daten strukturiert und hierarchisch, | '''XML beschreibt Daten strikt strukturiert und hierarchisch. | ||
Wohlgeformtheit ist Pflicht, Validität ist Kür.''' | |||
Version vom 28. April 2026, 10:50 Uhr
XML (Extensible Markup Language) ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. Es verwendet verschachtelte Tags, um Daten eindeutig und hierarchisch zu beschreiben.
Im Gegensatz zu HTML gibt XML keine festen Tags vor, sondern erlaubt die Definition eigener Elemente.
Aufbau
XML besteht aus:
- Tags (Start- und Endtag)
- Attributen
- hierarchischen Strukturen
- einem wohlgeformten Dokumentaufbau
Beispiel:
<Person>
<Name>Anna</Name>
<Alter>25</Alter>
<Ort>Berlin</Ort>
</Person>
Grundregeln (Wohlgeformtheit)
Ein XML-Dokument muss wohlgeformt sein, sonst kann es nicht verarbeitet werden.
Regeln
- Es darf nur ein Wurzelelement geben
- Alle Tags müssen geschlossen werden
- Tags müssen korrekt verschachtelt sein
- Groß-/Kleinschreibung ist relevant
- Attribute müssen in Anführungszeichen stehen
Beispiel (falsch):
<Person>
<Name>Anna</Name>
<Alter>25
</Person>
Fehler:
- <Alter> nicht geschlossen
Beispiel (richtig):
<Person>
<Name>Anna</Name>
<Alter>25</Alter>
</Person>
Validität
Ein XML-Dokument ist valide, wenn es zusätzlich zu den Grundregeln einer definierten Struktur entspricht.
Das wird überprüft durch:
- DTD (Document Type Definition)
- XSD (XML Schema Definition)
Beispiel:
- Ein <Person>-Element muss Name und Alter enthalten
- Reihenfolge und Datentypen können festgelegt werden
Elemente vs. Attribute
XML unterscheidet zwischen Elementen und Attributen:
<Person id="1">
<Name>Anna</Name>
</Person>
- Element → <Name>Anna</Name>
- Attribut → id="1"
Unterschied
| Element | Attribut |
|---|---|
| speichert Daten | beschreibt Daten |
| kann verschachtelt werden | keine Verschachtelung |
| flexibel | eher Zusatzinformationen |
Hierarchische Struktur
XML ist baumartig aufgebaut:
Person ├── Name ├── Alter └── Ort
- Eltern-Element → <Person>
- Kind-Elemente → <Name>, <Alter>, <Ort>
Namensregeln
- dürfen mit Buchstaben oder _ beginnen
- keine Leerzeichen
- keine Sonderzeichen wie < > /
- sollten aussagekräftig sein
Merkmale
- streng strukturiert
- hierarchische Datenstruktur
- menschen- und maschinenlesbar
- erweiterbar (eigene Tags)
- plattformunabhängig
Vorteile
- flexibel und erweiterbar
- standardisiert
- validierbar
- geeignet für komplexe Datenstrukturen
Nachteile
- viel Overhead → große Dateien
- schwerer lesbar als JSON
- benötigt Parser
- langsamer als kompaktere Formate
Typische Einsatzgebiete
- Konfigurationsdateien
- Datenaustausch zwischen Systemen
- Webservices (SOAP)
- Dokumentformate (SVG, EPUB, Office-Formate)
- Schnittstellen in Enterprise-Systemen
Best Practices
- klare und konsistente Tag-Namen verwenden
- möglichst Elemente statt Attribute für Daten
- Einrückungen zur besseren Lesbarkeit nutzen
- Validierung mit XSD nutzen
- keine unnötig tiefen Verschachtelungen
Kurzmerksatz
XML beschreibt Daten strikt strukturiert und hierarchisch. Wohlgeformtheit ist Pflicht, Validität ist Kür.
