Thursday, January 31, 2008

W3C drafts on Efficient XML Interchange, EXI - I didn't say binary XML

pencil icon, that"s clickable to start editing the post

Even though I'm not up-todate with every WS-* standard I do think that I have reasonably knowledge of what's going on (to my advantage many of these standards are slowgoing). Therefore I was quite surprised when I stumbled upon EXI in late 2007 on the w3 news list: Efficient XML Interchange (EXI) Drafts: Format, Best Practices, Primer. Never heard of it before but it quickly beamed in on my radar as binary XML in disguise - it's not, well it's not really binary XML. I do believe that keeping it as text is a great advantage as I heard David Megginson cut out at an XML Conference some years ago, that maybe in the long run it'll all interoperate without the developers getting they're hands on it, but until then it sure does make debugging much easier (my phrasing).

The Efficient XML Interchange (EXI) Working Group has published three documents:

Quickly onto the big question:

The Efficient XML Interchange Working Group is responsible for developing ways to exchange XML documents in ways that are as efficient as is practical without compromising the interoperability of XML itself. It also continues the work of the XML Binary Characterization Working Group. This Working Group is not about producing a closed, proprietary or obfuscated “binary XML” — The W3C is all about increasing interoperability!

Okay so what is it about:

EXI is a very compact representation for the Extensible Markup Language (XML) Information Set that is intended to simultaneously optimize performance and the utilization of computational resources. Using a relatively simple algorithm, which is amenable to fast and compact implementation, and a small set of data types, it reliably produces efficient encodings of XML event streams.

I would like Eclipse to be able to handle mid-sized XML files more easily, so if it can help me with that I might be interested.