Thema: Delphi was genau ist xml

Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: was genau ist xml

  Alt 23. Sep 2008, 21:57
Zitat von xaromz:
Und schau Dir mal an, welche Probleme Microsoft mit ihren binären Office-Formaten hat.
Ich kann hier in einem, vor dir vermutlich so nicht gemeinten Punkt zustimmen: Man kann binäre Formate ungünstig designen (aber nicht nur diese). Dieses Propietär zu halten war dabei wohl der ungünstigste Aspekt, hat aber mit der "Binärität" wiederum nichts zu tun.
Dass MS nun ein XML-basiertes Format einführt, klingt doch super. Fast in allen Office-Applikationen werden Medien kombiniert, im Wesentlichen Klartext Inhalte gespeichert, und eine visuelle Repräsentation erstellt - oftmals auch mit einer Gewissen Hierarchie. Word ist z.B. ein tolles Anwendungsgebiet, dort würde ich XML auf jeden Fall auch in die engere Auswahl nehmen. Ich wüsste nur noch nicht, wie ich mit eingebetteten Medien umgehen wöllte. Hinterlege ich ein importiertes Video in PowerPoint direkt inline in seinem Tag, muss es dafür aber Base64 encoden, leiste ich es mir diese in externe Dateien zu stecken auf die ich verweise und fasse nachher alles in ein zip oder Cabinet zusammen, oder erweitere ich mutwillig das Format, und stecke Binärdaten hinter das schließende Root-Tag in eine Chunk-Artige Struktur?
Konsequent wäre der erste Ansatz, aber Base64 ist so eine blöde Zwischensache um binär in zumindest darstellbaren Zeichen zu zwingen, dabei aber auch wieder eine Interpretationsstufe einzuführen, und den Platzbedarf zu vervierfachen. Am "besten" wäre natürlich ein ebenfalls XML-basiertes Videoformat dass ich einfach so inline zwischenschieben kann, aber was das hieße wenn man es zu Ende denkt, sollte denke ich meine Bitmap-Karikatur oben ganz gut demonstrieren.
Der Teufel steckt wie immer im Detail. XML ist hier ein guter Ansatz, aber keineswegs ausreichend um alle Anforderungen möglichst optimal zu erfüllen. Was mich bei XML dabei besonders stört ist, dass es jegliches Vorkommen von Binärdaten verbietet, und mich damit vom Start weg in meiner Flexibilität einschränkt, wenn ich mich wirklich an die Standards halten will/muss.

Was die Erweiterbarkeit angeht, so hat NamenLozer schon genau das richtige Stichwort genannt: Chunks. Ein Paradebeispiel ist da z.B. auch das RIFF Format, konkreter RIFF-Wave. Man kann völlig beliebig Chunks hinzufügen, so lange man die (per konkreter Spezifikation) drei Kern-Chunks auch drin hat. Und diese drei sind alles, was ein Player z.B. kennen muss, der egal wie erweiterte Wave Files einfach nur abspielen soll.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat