Efficient XML Interchange
Encyclopedia
Efficient XML Interchange (EXI) is a proposed data format from the Efficient XML Interchange Working Group
of the World Wide Web Consortium
(W3C). It is one of the most prominent "Binary XML
" efforts to encode XML
documents in a binary data format
, rather than plain text.
Using a binary XML format generally reduces the verbosity of XML documents, and may reduce the cost of parsing.
Performance of writing (generating) content is usually not similarly improved, although this depends on actual binary representation used.
.
An advantage of EXI over Fast Infoset is that EXI (optionally) uses more constraints from the XML schema
. This can make the EXI data more compact; for example, if the XML schema specifies that elements named 'bar' may only exist within elements named 'foo', EXI can assign a shorter token to the 'bar' element, knowing that it doesn't have to share the same token space as elements that occur elsewhere in the document.
The main disadvantage is that to take advantage of this "schema-informed" compression, not only does the document require a schema, but the decoder needs a copy of the same schema that the encoder used.
Efficient XML Interchange Working Group
Efficient XML Interchange Working Group is a World Wide Web Consortium group established in 2006.The EXI WG conducted a survey of the various situations and applications in which data exchange using XML were desired, and studied a best solution in which XML-based data exchange could be made...
of the World Wide Web Consortium
World Wide Web Consortium
The World Wide Web Consortium is the main international standards organization for the World Wide Web .Founded and headed by Tim Berners-Lee, the consortium is made up of member organizations which maintain full-time staff for the purpose of working together in the development of standards for the...
(W3C). It is one of the most prominent "Binary XML
Binary XML
Binary XML refers to any specification which defines the compact representation of XML in a binary format. While there are several competing formats, none has been widely adopted by a standards organization or accepted as a de facto standard...
" efforts to encode XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
documents in a binary data format
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...
, rather than plain text.
Using a binary XML format generally reduces the verbosity of XML documents, and may reduce the cost of parsing.
Performance of writing (generating) content is usually not similarly improved, although this depends on actual binary representation used.
Comparison with alternatives
The EXI format is derived from the AgileDelta Efficient XML format. EXI was chosen as W3C's Binary XML format after an evaluation of various proposals that included Fast InfosetFast Infoset
Fast Infoset is an international standard that specifies a binary encoding format for the XML Information Set as an alternative to the XML document format...
.
An advantage of EXI over Fast Infoset is that EXI (optionally) uses more constraints from the XML schema
XML schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...
. This can make the EXI data more compact; for example, if the XML schema specifies that elements named 'bar' may only exist within elements named 'foo', EXI can assign a shorter token to the 'bar' element, knowing that it doesn't have to share the same token space as elements that occur elsewhere in the document.
The main disadvantage is that to take advantage of this "schema-informed" compression, not only does the document require a schema, but the decoder needs a copy of the same schema that the encoder used.
Implementations
- EXIficient - Open Source Java implementation of the EXI Format 1.0.
- EXIP - Open source C implementation
- OpenEXI - Open Source Java implementation of the EXI Format 1.0.
- Efficient XML™ - commercial implementation of the EXI specification in Java, .NET and C++
- Exi-Connexion - Open Source Java implementation of EXI's Working Draft 26.03.2008 (http://www.w3.org/TR/2008/WD-exi-20080326/).