The W3C has released the first draft of a new specification today, XML for Binary Streams (XBS). The basic idea seems to revolve around taking a binary stream and encoding it as XML.

I'm actually quite surprised that the W3C has taken this long to recognize this very real need on the Web. By its nature, the Web is made up of a disparate group of physical nodes, each which can have its own distinct hardware architecture and operating system. Thus, being able to "encode" a binary stream in traditional, well-understood and well-supported XML (a text format) has immediate benefits in the large.

I've read through the specification and I was surprised at how small it is. In the past, I've reviewed W3C documents (like SVG) that number in the hundreds of pages, but it seems that with XBS I can summarize in a paragraph or two:

The root node of an XBS document is a Binary Stream (a <BS> node). It then contains a flat (i.e. non-hierarchical) collection of <bit> nodes. Here's an example document:

<BS>
  ...
  <bit id="bit453" nextBit="bit454" prevBit="bit452">0</bit>
  <bit id="bit454" nextBit="bit455" prevBit="bit453">1</bit>
  ...
</BS>

My first thought was that <bit> seemed at a pretty low granularity and it might have been wiser (in terms of reducing document verbosity) to go with a <byte> node instead. However, I quickly realized (as the Working Group must have) that this would introduce a need to specify base, byte size (some systems have a byte size other than 8 bits!), and endianness for each byte. These would have probably been included as attributes and would ultimately make the document harder to read.

My second thought was that the prevBit and nextBit attributes seem a little unnecessary, but they might be useful in situations where the user wants to "shuffle" the bit order upon sending across the network so that anyone illegally intercepting will have a harder time interpretting the document. It's also nifty for a way to specify an infinitely repeating loop of bits. I see these as edge cases more than anything, so I'm glad to see those attributes are optional.

Anyway, it will be exciting to see applications supporting XBS in the future, though it's anyone's guess if Microsoft will ever support it. If you'd like to see XBS make its way into browsers soon, please show your support by mentioning it here.

§244 · April 1, 2006 · Entertainment, Software, Technology, Web, XML · Tags: · [Print]

Leave a Comment to “W3C Releases XBS”

  1. stelt says:

    reading this more than half asleep it seemed strange right away, but it took me until the actual load of “BS” to understand the date attribute