[Xml-bin] An attempt to sort things out

Stefan Zier Stefan.Zier@syntion.com
Tue, 17 Apr 2001 11:18:58 +0200


I think to get a grip on a binary representation, we first need to be clear
what data in an XML application we want to represent in a binary format. Let
me attempt to come up with a layer model for data in typical XML
applications: At the lowest layer, there is the textually encoded XML data,
which is always basically just a stream of bits. At the highest level, there
is the representation that is directly used in the application. Between
these layers, there is usually an intermediary form, generated by an XML
parser, such as a DOM tree or a stream of SAX events. The highest
(application) layer is often merely logical and more or less generated on
the fly from DOM/SAX.

So the layer model is:

Application Data
DOM/SAX Data
Textual XML Data

The data from the lowest layer is the input for storage or transmission
mechanisms (such as HTTP, TCP or files on disk). A binary representation
could be fitted into different places in this model:

- Textual XML Data: This would mean to transform regular textual XML data
into a binary representation
  of some sort and back to textual XML. It could be as simple as applying
gzip.

- DOM/SAX Data: In this case, you would create a binary representation of
whatever the
  parser APIs data model is

- Application Data: This is found in many applications today - basically a
(often proprietary) binary
  representation of the application data

Each of those has advantages and disadvantages, the big question is: Which
one would add value and to which applications?

Input on this model would be greatly appreciated. Am I reinventing the wheel
here?

---------------------------------------
Stefan Zier
Software Developer
Syntion AG - http://www.syntion.com
Leonrodplatz 2 - 80636 Munich/Germany
Phone +49 89 52 30 45-0
Fax +49 89 52 30 45-20