XML

Aus FI-Wiki

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.