XML News from Wednesday, July 18, 2007

The W3C has published the first public working draft of Efficient XML Interchange (EXI) Format 1.0. "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. The EXI format uses a hybrid approach drawn from the information and formal language theories, plus practical techniques verified by measurements, for entropy encoding XML information. 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. The event production system and format definition of EXI are presented."

I'm feeling a little verklempt. Talk amongst yourselves. I'll give you a topic. The Efficient XML Interchange Format is neither efficient nor XML nor interchangeable. Discuss.

OK, I'm better now. I'm not sure what's worse: the incredible opaqueness of the format or the fact that EXI really, truly is not a representation of the XML infoset. Opaqueness expected, but the latter surprised me. EXI introduces data types such as Binary, Boolean, Decimal, Float, Integer, Unsigned Integer, and Date-Time. XML does not have data types, and that's a feature, not a bug. XML does not presume to tell any reader how it must interpret any particular string of text it may find in a document. EXI does. (So does JSON, by the way. EXI and JSON are both grounded in the same mistaken belief that data types are interoperable across domains.)

Whatever the EXI format is, it's not XML and using the name "XML" to describe it an attempt by people who want something very different from XML to trade on XML's good name. If EXI were really a good idea, it could succeed on its own merits without pretending to be something it's not. I guess the working group members don't really believe in it though.