Friday, May 7, 2010

XML

Ich werde häufiger danach gefragt und habe deshalb mal eine Kurzdefinition gewagt:

XML ist eine Art, Daten zu beschreiben. Ganz vereinfacht Namen in Klammern um Werte.
<Name1 Name2="Wert1">Wert2</Name1>
Erst eine DTD oder ein Schema erklärt, welche Namen und Werte möglich sind. Details finden sich in den verlinkten Wikipedia-Seiten.

Im RouteConverter Forum hatte ich ausführlicher dazu geschrieben:
Vielleicht kann ich Deine Frage zur Struktur von XML-Dateien beantworten:
  • Elemente werden durch spitze Klammern notiert: <a> wird durch </a> geschlossen
  • Attribute stehen innerhalb des Startelements: <a attribut1="wert" attribut2="wert">
  • Leerzeichen/Leerzeilen/Tabs zwischen Elementen <a></a>HIER<a></a> werden ignoriert
  • Mehr als ein Leerzeichen/Leerzeilen/Tabs zwischen Attributen <a HIERattribut2="wert" HIER attribut2="wert2"/> wird ignoriert
  • Leerzeichen/Leerzeilen/Tabs innerhalb von Elementen <a>HIER</a> oder Attributen <a attribut1="wertHIER"/> können relevant sein - das hängt von der Anwendung ab
Die obigen Ausführungen gelten für fehlerfrei und vorbildlich arbeitende XML-Parser und XML-Schreiber. Leider gibt es damit ab und an Probleme:
  • bis auf GPX, KML und TCX verwendet kein Format XML-Schemata o.ä. um das Format zu spezifizieren
  • ViaMichelin verwendet noch DTDs, verträgt keine optionalen Whitespaces und muß in ISO 8859-1 kodiert werden
  • GoPal-Routen und MN7-Freshroutes müssen in ISO 8859-1 kodiert sein, ganz gleich was in der Prämbel steht
  • Magic Maps nummeriert Elemente über ihre Namen, so daß sich gar kein XML-Schema angeben läßt
  • ITNConv schreibt ISO 8859-1 in die Präambel aber verwendet UTF-8 als Kodierung

No comments:

Datenschutz