gorefest schrieb am 5. Juni 2009 13:17
> Niemand hindert Dich Dein XSD schlank zu
> halten und das XML zu zippen.
Falsch. Niemand hindert mich um XML einen riesen Bogen zu machen und
damit fährt unsere Firma seit Jahren sehr gut und unsere Produkte
verkaufen sich deswegen keinen deut schlechter.
Zwar bieten wir zwecks Interoperabilität immer den Weg nach und von
XML an, aber ansonsten benutzen unsere Produkte das niemals intern
und es hat sich noch nie irgendwer darüber beschwert.
Warum soll ich Rechenaufwand stecken etwas zu komprimieren, wenn ich
ich es gleich kompakt speichern kann (for free und mit weniger CPU
und Speicherverbrauch)? Und mit dem Vorteil, dass ich jederzeit jedes
einzelne Byte einfach austauschen kann und dabei auch genau nur ein
Byte schreiben muss im günstigsten Fall. Bei ZIP muss ich es erst
komplett lesen, auspacken, ein Byte ändern, dann einpacken und wieder
komplett schreiben. Es sei dem du verrätst mir ein Verfahren wie man
ein Byte in einem ZIP ändern kann ohne das so zu machen - vielleicht
ist ja da eine gewisse Entwicklung an mir vorbeigezogen.
> Mit modernen Parsern wie STAXOM lässt sich das Zeug dann sogar
> gestreamt aus der ZipDatei per Stream auslesen.
Das bringt was für einen Vorteil? In der Zeit wo der noch ZIP Daten
als Stream auspackt, bzw. das Ergebnis parsed und versucht einen XML
Baum zu erstellen (d.h. alles das was passiert bevor man überhaupt
sinnvoll mit den Daten arbeiten kann) hat nicht XML Code die Daten
schon komplett zuende verarbeitet.
> Der Unterschied zu Structured Storage ist dann
> nicht mehr so groß.
Genau das ist dein Problem. Du denkst Structured Storage == XML. Es
hat Structured Storage schon lange vor XML gegeben und es gibt heute
auch zig alternativen zu XML, die XML in Sachen Features um keinen
deut nachstehen.
> Der große Vorteil bei XML ist, dass Du Validierung und
> Extraktionsmechanismen universell geschenkt kriegst.
Nix kriegst du geschenkt, ausser dem Code um das zu machen, wenn du
auf OpenSource Libs aufsetzt oder irgendwas, was dein Zielsystem
schon mitbringt. Wenn nicht (du darfst kein OpenSource benutzen, die
Firma will auch keine XML Lib lizenzieren und die Zielplattform hat
auch keine solche Lib), viel Spass deinen eigenen XML Parser und
Validator zu schreiben.
Und selbst dann muss du erstmal deine XML Schema Def schreiben, was
oft mehr Zeit kostet als Programmcode der ein deutlich simpleres
Format validieren kann.
Abgesehen dass es so Dinge wie Schema Definitionen und Validatoren
auch für XML Alternativen for free gibt.
/Mecki