On Thu, Sep 18, 2003 at 04:41:22PM +0200, Rigo Wenning wrote:
> Aha ;) Das ist nicht der Zweck der �bung. Zweck von binary XML
> ist die M�glichkeit, XML so zu reduzieren, dass es auch auf
> kleineren Endger�ten (PDA, Handy etc) verarbeitet werden kann.

:-)

Rigo, hast Du mal eine SNMP-Implementierung auf einem Ger�t
gesehen, das "zu klein ist, um XML zu verarbeiten"? Das hat mit
Struktur, Normkonformit�t oder Sicherheit nix mehr zu tun.

DHCP ist ein ganz �hnliches Format, bei dem getaggte Daten
geparsed werden m�ssen, um die Nutzlast aus den Daten zu pulen.
Ich wei� von mindestens einem Drucker, der einfach in einen
Endlos-Bootcycle geht, wenn ihm ein DHCP-Paket begegnet, das
normkonform, aber gr��er als sein Puffer ist, und von einem
anderen Drucker-Netzport, der gar nicht parsed, sondern mehr
"festen Offsets an variablen locations" arbeitet, soda� er
normkonforme, aber nicht seinen Vorstellungen entsprechende
Pakete falsch verarbeitet und man einige seltsame Dinge in
seiner dhcp.conf tun mu�, damit die Kiste korrekt bootet.

Ganz �hnlich mit diversen SNMP-Implementierungen, wie man sie in
Routern, Switches oder Druckern und Druckerports findet, oder in
Cable-Modems. Die bekannten Exploits f�r SNMP, f�r bestimmte
Kabelmodems und andere Kleinstger�te sind ja nur die Spitze des
Eisberges. Das Zeug ist alles so kaputt, und so unfirewallbar,
das will man gar nicht wissen (Einige Sobig-Varianten haben auf
diese Weise Code von gehackten Kabelmodemfarmen nachgeladen, ja
vom Modem, nicht vom Rechner dahinter).

> Diese Ger�te haben oftmals nicht genug Speicher und resourcen,
> um das 'normale' XML zu verarbeiten.  Deswegen wird �ber eine
> Bin�rform nachgedacht, die wesentlich weniger Speicherplatz
> und Bandbreite ben�tigt.

Diese Ger�te brauchen kein bin�res XML. Diese Ger�te brauchen
statische Pakete mit festen Feldern und vordefinierten Offsets.
Alles andere -> siehe meine Abs�tze weiter oben.

Wieso?

Wenn ein Ger�t so klein ist, da� es kein regul�res XML
verarbeiten kann, dann ist es auch f�r dynamische
Speicherverwaltung und jede andere Form von Parsing zu klein.
Dann soll man sich dazu bekommen und statische Strukturen bauen.
Das macht simplen Code, keine Fehler, und schnelle Ger�te.

http://rockbox.haxx.se/docs/faq.html, Frage 53ff, und der Thread
unter
http://rockbox.haxx.se/mail/archive/rockbox-archive-2002-08/0449.shtml.

Dieser Umgang ist viel sinnvoller, als einem solchen Ger�t eine
dynamische Speicherverwaltung mit den resultierenden Risiken und
Unw�gbarkeiten aufzuzwingen.

Aber wer Java in Handys einbaut, der will wahrscheinlich auf
bin�res XML.

> Die, die bin�rXML wollen sagen aber, dass es nicht reicht. Denn der
> Kompressionsvorgang verbraucht gerade wieder resourcen, die auf kleinen
> Endger�ten nicht verf�gbar sind. Das mit dem Zip ist eher ein alter Hut.

Das ist es. SVG, OpenOffice, Microsoft Office und alle anderen
machen es so.

Kristian

Antwort per Email an