Schwierigkeiten mit Xml-Daten
Vorteile von Xml
Xml hat sich auf Grund seiner Vorteile zur führenden Technologie für Datenaustausch etabliert:
- Xml ist für Menschen und für Computer gut lesbar. Es ist ein offener Standard. Es kann gelesen und geschrieben werden von jedem einfachen Texteditor.
- Xml-Dateien können beliebig komplexe Datenstrukturen enthalten.
- Xml-Schnittstellen können einfach geändert werden:
- Neue Elemente können hinzugefügt werden.
- Programme, die die modfizierte Schnittstelle lesen, überlesen einfach diese neuen Elemente.
- Die Programme stürzen nicht ab!
- Xml-Elements müssen nicht auf einer bestimmten Zeile oder Spalte positioniert werdem.
- Die Reihenfolge der Xml_elemente is in der Regel nicht relevant.
Aber: Standard Tools gehen mit Xml-Daten nicht korrekt um!
Die Vorteile von Xml haben auch ihre Kehrseite. Denn die bewährten Standard-Unix-Tools wie like "diff", "cmp", "sort", "join" und "comm" können nicht korrekt mit Xml-Daten umgehen. Siehe die folgenden Beispiele:
Beispiel 1
Die folgenden beiden Dateien sind inhaltlich identisch. Sie unterscheiden sich nur in der Reihenfolge der Elemente. Ein Standard compare-tool ist sich dieses Problems nicht bewußt. Es wird immer Unterschiede melden, obwohl die Dateien inhaltlich gleich sind.
Datei: test1a.xml |
---|
Fischer Hans 1999-10-04 Becker Claudia 1990-01-18 |
Datei: test1b.xml |
---|
1990-01-18 Becker Claudia Hans Fischer 1999-10-04 |
Beispiel 2
Der " und "" von der Person sind in beiden Dateien gleich.
Aber in Datei "test2b.xml" gibt es kein element "".
Wenn man diese beiden Dateien z.B. mit der "diff"-utility vergleicht, kann man nicht angeben, daß element "" beim Vergleich nicht berücksichtigt werden soll.
Datei: test2a.xml |
---|
Fischer Hans 1999-10-04 |
Datei: test2b.xml |
---|
Fischer Hans |