EXI stance

XML is a popular language when it comes to sharing data. Surely, its human-readability was a key to its adoption in a wide range of applications, and as such it can be easily inferred that this feature has to be preserved. However, in some cases, it is not a feature. In particular when the size of the documents is bigger than the devices memory, when the parsing time exceeds the user’s patience, when the data contains a huge amount of numbers that XML requires to stringify.

Without a text encoding, XML still has lots of features to offer: conceptualizations like the XML Infoset and XML Schema for the data structure and its description, and a stack of powerful manipulation languages, for queries, transformation, etc. Of course, all of those are already directly integrated in lots of Web technologies, such as Web services.

The goal of EXI is to provide an encoding of an XML document, along with an additional compression technique. In summary, a more compact format, without spending too much processing resource on encoding or decoding, sharing the common grounds of XML (Infosets and Schemas) so that all the XML stack technologies can be used. From the applications point of view, sharing EXI documents should be exactly like sharing XML documents, except that the parser is an EXI parser instead of an XML parser.

One thought on “EXI stance

  1. Its just the tokeniser part that has to change, surely. The same tokens are being matched (elements, attributes, etc), the same DOM built. So instead of two parsers, its more like one parser with two possible input formats.

Comments are closed.