Efficient XML Interchange
Efficient XML Interchange (EXI) is a binary XML format for exchange of data on a computer network. It was developed by the W3C's Efficient XML Interchange Working Group and is one of the most prominent binary XML efforts to encode XML documents in a binary data format, rather than plain text. Using EXI format reduces the verbosity of XML documents as well as the cost of parsing. Improvements in the performance of writing (generating) content depends on the speed of the medium being written to, the methods and quality of actual implementations.
History
The World Wide Web Consortium (W3C) formed a working group to standardize on a format in March 2006. EXI was chosen as W3C's Binary XML format after an evaluation of various proposals that included Fast Infoset.[1] EXI was adopted as a W3C recommendation by the W3C on 10 March 2011. A second edition was published in February 2014.[2]
EXI was recommended for use in the US Department of Defense Global Information Grid.[3]
Alternatives
The EXI format is derived from the AgileDelta Efficient XML format.[4]
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.
EXI4JSON is a specification developed by the same working group to use the same format for JSON documents.[5]
References
- ↑ Robin Berjon and Jaakko Kangasharju editors (20 July 2006). "Analysis of the EXI Measurements". W3C. Retrieved 23 September 2016.
- ↑ "Efficient XML Interchange Working Group". Public web site. W3C. Retrieved 23 September 2016.}
- ↑ Sheldon L. Snyder (1 March 2010). "Efficient XML Interchange (EXI) Compression and Performance Benefits: Development, Implementation and Evaluation" (PDF). Masters Thesis. US Navy Postgraduate School. Retrieved 23 September 2016.
- ↑ "Lightning-Fast Delivery of XML to More Devices in More Locations". AgileDelta. 5 November 2015. Retrieved 23 September 2016.
- ↑ Daniel Peintner and Don Brutzman editors (23 August 2016). "EXI for JSON (EXI4JSON)". Public Working Draft. World Wide Web Consortium. Retrieved 23 September 2016.
External links
- Efficient XML Interchange Format 1.0 (W3C Recommendation)
- Efficient XML Interchange Evaluation (Working Group Note)
- EXIficient - EXIficient is a set of open source implementations of the W3C Efficient XML Interchange (EXI) format specification
- EXIP - Open source C implementation
- Nagasena - Open Source Java/C# implementations of the EXI Format 1.0 provided by FUJITSU.
- Efficient XML™ - commercial implementation of the EXI specification in Java, .NET, C and C++
- Exi-Connexion - Open Source Java implementation of EXI's Working Draft 26 March 2008 ()
- OSS EXI Tools for C/C++ and OSS EXI Tools for .NET - a commercial implementation of EXI (prototype release) by OSS Nokalva