Moin,
in den bisherigen Anwendungsgebieten wo ich
XML benutzt (oder auch nur in meine Überlegungen eingeschlossen) habe war es meist nur um kurze strukturierte Nachrichten auszutauschen.
Ein Kollege wollte mich aber vor einiger Zeit überzeugen, daß
XML absolut die erste Wahl bei sowas wie Zusammenfassungen eines Virenscans seien. Ich persönlich habe so meine Zweifel.
Es ist schließlich so, daß die meisten Parser einfach nicht damit klarkommen wenn ein
XML-Element nicht geschlossen wurde. Stellt man sich nun vor, daß der Benutzer eine langwierige Aktion abbricht, kann man sicher dafür sorgen daß die Elemente geschlossen werden. Aber das klappt nicht immer, wenn bspw. etwas unvorhergesehenes passiert. Im Gegensatz zu SEH auf
Win32 gibt es auf (den meisten) unixoiden Systemen keinerlei Möglichkeit einen Prozeß zu retten. Sogar longjmp ist dabei vielfach nicht hilfreich.
Im Zweifelsfall sitzt der Benutzer dann mit einer beschädigten
XML-Datei da und weiß nicht wie weiter, weil das Anzeigeprogramm mit dem verkorksten
XML nicht klarkommt. Dann sind all die tollen Vorteile (Maschinenlesbarkeit, Portabilität) auf einmal dahin ...
Selbst für
IPC sehe ich - insofern es auf der gleichen Maschine passiert - keine wesentlichen Vorteile von
XML gegenüber einem Record den ich über ne Pipe, MMF oder anderweitig übertrage. Zumindest die üblichen Probleme wie Bitreihenfolge und Bittigkeit sind schonmal nicht vorhanden.
Ein weiteres Problem welches ich mit
XML sehe ist die Ambiguität. Es gibt keine verläßliche Konventionen wann ich besser ein Attribut und wann ich besser ein Kindelement einsetze. In einigen Notationen ist es sogar nicht unterscheidbar.
Das für mich eindringlichste Argument von
XML aus der
XML-Welt ist aber die Kompaktform von
RELAX-NG, welche deutlich lesbarer (aber genauso maschinenlesbar) ist wie die
XML-Form.
Also, nennt mir doch mal bitte
eure persönlichen Argumente
für XML (dagegen habe ich schon eigene
). Es geht hier also wirklich darum, vorzugsweise positive, Argumente für
XML zu sammeln. Kurz: überzeugt mich mit Fakten
NB: bitte auch das jeweilige Anwendungsgebiet mit benennen, denn logischerweise macht sowas nur im Zusammenhang Sinn