Binary XML


Various binary formats have been proposed as compact representations for XML. Using a binary XML format generally reduces the verbosity of XML documents thereby also reducing the cost of parsing, but hinders the use of ordinary text editors and third-party tools to view and edit the document. There are several competing formats, but none has yet emerged as a de facto standard, although the World Wide Web Consortium adopted EXI as a Recommendation on 10 March 2011.
Binary XML is typically used in applications where the performance of standard XML is insufficient, but the ability to convert the document to and from a form which is easily viewed and edited is valued. Other advantages may include enabling random access and indexing of XML documents.
The major challenge for binary XML is to create a single, widely adopted standard. The International Organization for Standardization and the International Telecommunications Union published the Fast Infoset standard in 2007 and 2005, respectively. Another standard, known as Binary MPEG format for XML, has been standardized by the ISO in 2001. BiM is used by many ETSI standards for digital TV and mobile TV. The Open Geospatial Consortium provides a Binary XML Encoding Specification optimized for geo-related data and also a benchmark to compare performance of Fast InfoSet, EXI, BXML and deflate to encode/decode AIXM.
Alternatives to binary XML include using traditional file compression methods on XML documents ; or using an existing standard such as ASN.1. Traditional compression methods, however, offer only the advantage of reduced file size, without the advantage of decreased parsing time or random access. ASN.1/PER forms the basis of Fast Infoset, which is one binary XML standard. There are also hybrid approaches that attach a small index file to an XML document to eliminate the overhead of parsing.

Binary XML Efforts

Projects and file formats related to the notion of binary XML include:
Other projects that have functionality related to binary representations include: