XML: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „== XML (Extensible Markup Language) == '''XML''' ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. Es verwendet verschachtelte Tags, um Daten hierarchisch und eindeutig zu beschreiben. === Aufbau === XML besteht aus: * '''Tags''' (Start- und Endtag) * '''Attributen''' * '''hierarchischen Strukturen''' * einem '''wohlgeformten Dokumentaufbau''' Beispiel: <syntaxhighlight lang="xml"> <Person> <Name>Anna</Name…“
 
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== XML (Extensible Markup Language) ==
'''XML (Extensible Markup Language)''' ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. 
Es verwendet verschachtelte Tags, um Daten eindeutig und hierarchisch zu beschreiben.


'''XML''' ist ein textbasiertes Datenformat zur strukturierten Darstellung von Informationen. 
Im Gegensatz zu HTML gibt XML '''keine festen Tags vor''', sondern erlaubt die Definition eigener Elemente.
Es verwendet verschachtelte Tags, um Daten hierarchisch und eindeutig zu beschreiben.


=== Aufbau ===
== Aufbau ==
XML besteht aus:
XML besteht aus:
* '''Tags''' (Start- und Endtag)   
* '''Tags''' (Start- und Endtag)   
Zeile 20: Zeile 20:
</syntaxhighlight>
</syntaxhighlight>


=== Merkmale ===
== 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 ==
* streng strukturiert   
* streng strukturiert   
* hierarchische Darstellung  
* hierarchische Datenstruktur  
* menschen- und maschinenlesbar   
* menschen- und maschinenlesbar   
* unterstützt Attribute und verschachtelte Elemente 
* erweiterbar (eigene Tags)
* erweiterbar (keine festen Tags vorgeschrieben)
* plattformunabhängig 


=== Vorteile ===
== Vorteile ==
* sehr flexibel – eigene Tags möglich  
* flexibel und erweiterbar  
* gut für komplexe Daten  
* standardisiert  
* validierbar (z. B. DTD, XSD)  
* validierbar   
* maschinen- und menschenlesbar
* geeignet für komplexe Datenstrukturen 


=== Nachteile ===
== Nachteile ==
* viel Overhead, große Dateien   
* viel Overhead große Dateien   
* komplexer als [[JSON]] oder [[CSV]]   
* schwerer lesbar als [[JSON]]   
* braucht Parser
* benötigt Parser
* langsamer als kompaktere Formate 


=== Typische Einsatzgebiete ===
== Typische Einsatzgebiete ==
* Konfigurationsdateien   
* Konfigurationsdateien   
* Austausch zwischen Anwendungen  
* Datenaustausch zwischen Systemen 
* Dokumentformate (z. B. EPUB, SVG)   
* Webservices (SOAP)  
* 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, sehr flexibel, aber oft umfangreicher als [[JSON]].'''
'''XML beschreibt Daten strikt strukturiert und hierarchisch.'''

Aktuelle Version vom 28. April 2026, 10:53 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.