Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Argumente für XML gesucht

  Alt 27. Mär 2007, 14:22
XML ist ein mächtiger Standard, der dir abartig viele Vorteile verschafft, ich kratze jetzt also nur ein bissel an der Oberfläche.

Du kannst XML Daten sehr einfach komplexen Validierungen unterziehen bevor du die Daten importierst.
Es gibt da hauptsächlich 2 Möglichkeiten: DTDs und XSDs.
Ich selbst bin ein großer Fan von XSDs, hauptsächlich wei sie selbst ebenfalls einfache XML Dateien sind.
Ein solches Schema beschreibt deine Daten, enthält wo Attribute erlaubt sind und wo Elemente.
Oder auch welche Wertetypen ein Attribut/Element haben darf, sogar reguläre Ausdrücke sind möglich.

Wenn ich mal grob schätzen müsste, würde ich sagen dass sich 98% aller Fehler durch eine XSD-basierte Validierung aufspüren lassen, bevor du mögliche ouchy Banana Daten auch nur anfassen musst.

Außerdem gibt es 50 Gazilion Tools für XML, und 150 Zilionen Möglichkeiten von deinem Programm darauf zuzugreifen.
Eine XML Datei ist, im Gegensatz zu einem beschissen [XYZ]SV- oder fixed size-Datei, also:
  • validierbar
  • gibt hinten das raus was du vorne reingeworfen hast
  • ist hierarchisch
  • lässt sich mit einem .xls im Browser hübsch darstellen
    (Ich habe sogar einmal irgendwo ein .xsl gesehen, was Filterung/Sortierung über Javascript erlaubte, ich Trottel finde es nur nicht mehr )
  • aus dem Schema lässt sich Zugriffscode generieren, wodurch du mit dem Handling der XML-API nur wenig bis gar nix zu tun hast.[1]
    (für so ziemlich jede heutige Sprache, von Delphi, über .Net bis zu Java oder Ada)


Kurzfassung: Wer heutzutage noch solche unvalidierbaren Krüppelformate wie Inis, oder [XYZ]SV- Dateien benutzt, lebt entweder seit ein paar Jahren hinter'm Mond oder ist einfach ein Masochist.
Alleine der Einwand deiner zukünftigen Partner lässt mich darauf schließen, dass du es da mit verschollen Appollo11-Mitgliedern zu tun hast...
[1]In Delphi gibt es dafür den XML Databinding Wizard.
Für .Net/Java gibt es Code Generatoren, die Datenklassen generieren, und Serialisierung übernimmt dort die Transformation zwischen Objekten und Code.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat