Publications •Status•Background•Participation and Discussion•Timeline •Implementations •Meetings
This is the public web page for the Efficient Extensible Interchange (EXI) Working Group of theWorld Wide Web Consortium (W3C).There is also aprivate page for members of the EXI group, forinternal, administrative information.
Efficient Extensible Interchange is a way for one system to send to another system a highly compressed sequence of parse events. The recipient can build data structures directly from the parse events without having to reconstitute a textual representation (such as a JSON file, an XML file, JavaScript, HTML and so forth).
The group'schartercovers the period June 2015 to 31 May 2018.
The work was originally done as part of the W3C XML Activity, but it turns out that sending parse events, is useful for many other applications. In addition, EXI processors can pre-load a string table and grammar (typically using W3C XML Schema) to reduce even further the data that needs to be sent. The schema can also provide native data typing for numbers, strings, and so on, reducing the work done by the recipient still further.
EXI is also in use for the Internet of Things in devices such as temperature sensors, where the low memory and CPU demands of the format are very important.
Canonical EXI,W3C Proposed Recommendation, 25 April 2018. (editor's draft) | ||
EXI4JSON (EXI for JSON),Second Public Working Draft, 23 August 2016. (editor's draft) (See publicationannouncement.) | ||
Efficient XML Interchange (EXI) Format 1.0(Second Edition),Recommendation, 11 February 2014. ( Interoperability Test Framework is available. Seebelow. ) | ||
EXI Profile for limiting usage of dynamic memory,Recommendation, 09 Sep 2014. |
Other selected publications in the order of most recent first:
EXI Primer,Third Public Working Draft, 24 April 2014. | ||
Efficient XML Interchange Evaluation,Second Public Working Draft, 7 April 2009. | ||
EXI Impacts, First Public Working Draft, 3 September 2008. | ||
EXI Best Practices,First Public Working Draft, 19 December 2007. | ||
The Working Draft of theEfficient XML Interchange Measurements Note. This document describes measurements that had been made, by the Working Group, of the compactness and processing characteristics of various potential XML encoding formats (25 July 2007). The raw results of candidates testing is available. The WG maintains awiki page documenting inaccuracies that have been found with regards to the measurements note document. |
(In reverse chronological order, as of February 2016, most recent publication of each document produced by the WG).
In April 2018, the Proposed Recommendation forCanonical EXI was published.
In August 2016, Second Public Working Draft of theEXI4JSON (EXI for JSON) specification was published.
In May 2015, Last Call Working Draft of theCanonical EXI specification was published.
In Sep 2014, "Efficient XML Interchange (EXI) Profile for limiting usage of dynamic memory" specification became aRecommendation.
In April 2014, the third draft note ofEXI Primer was published.
In February 2014, "Efficient XML Interchange (EXI) Format 1.0 (Second Edition)" became aRecommendation.
In April 2009,Evaluation of the EXI Format (Second Working Draft)relative to XML, gzipped XMLand ASN.1 PER, was published.
In September 2008, a draft note onEXI Impactsdescribing the impacts of EXI that may potentially cause to affect existing XMLtechnologies, XML processors, and applications was published.
In December 2007, a draft note on theEXI Best Practices describing the guidelines for the interoperabledeployment of EXI was published.
Status history that predates the above events are describedhere.
The Efficient XML Interchange Working Group was chartered to define analternative encoding of the XML Information Set, that addressed therequirements identified by theXMLBinary Characterization (XBC) Working Group, while maintaining the existinginteroperability between XML applications and XML specifications.
The task of this Working Group is to jointly establish and optimize, theperformance of an alternate, non-textual, encoding of XML. At the same time,disruption to existing processors, and impact on the complex real-world usesof XML, must be minimized. The Working Group started by considering existingsolutions and has evaluated each in terms of implementability and performanceagainst the requirements produced by theXBC Working Group. We gatheredtogether a test data set of more than 10000 documents in 30 or so XMLvocabularies, from a broad range of use case groups, such as Scientific,Financial, Electronic (those intended for human consumption), Storage(intended as data stores), etc. The existing solutions, and candidate basetechnologies for a potential EXI format, were then measured over a number ofmerit criteria, within a benchmark framework based onjapex.The measurements are presented in theEfficient XMLInterchange Measurements Note
The EXI framework is available fordownload. This measurement test framework was created for the purpose of obtainingempirical data about format properties. In this release, the framework can beused to measureProcessingEfficiency andCompactness overa wide variety of XML documents collected by the WG. The framework includessupport for in-memory and network testing, the latter is particularly usefulto measure the performance of a format relative to the available bandwidth.See theRelease Notes for furtherinformation.
The EXI interoperability test framework was created for the purpose ofconducting interoperability assessment as a means to evaluate the clarity of the EXI Formatand related specifications. It is not intended as a means to validate conformance though it would likely facilitate EXI implementation efforts.
The interoperability test framework isavailable for download. See theREADME for moreinformation. | |
(The interoperability test framework used for the initial EXI 1.0 specification published on 10 March 2011 is separately availablehere.) | |
The results of the interoperability tests performed on 3 implementations are available in the implementation reports (Second Edition andFirst Edition). |
The interoperability test framework isavailable for download. See theREADME for moreinformation. | |
The results of the interoperability tests performed on 3 implementations are available in theimplementation report. |
The Efficient Extensible Interchange Working Group operates according to thischarter. You canget involved byjoiningthe W3C. The list of the Working Group's participants is available on theWG status page.
The public mailing list for technical discussion with the Working Group ispublic-exi@w3.org (Archives).
The public mailing list for sending feedbacks on the EXI format specification ispublic-exi-comments@w3.org (Archives).
Below are the estimated schedules (as of 04 Nov 2016) for the works underway.
Canonical EXI | ||
---|---|---|
Spring 2017 | ||
Proposed Recommendation |
W3C maintains apublic list ofany patent disclosures made in connection with the deliverables of thegroup; that page also includes instructions for disclosing a patent.
Here is a list of publicly available implementations of the EXI 1.0 specifiction, in alphabetical order.
If you have an implementation and wish to have it listed, contact the WG chairs or staff (info at the end of the page) with required information specified inthe preliminary Call for Implementations.
Enumerated below are summary information pertinent to each implementation listed above, in chronological order determined by when the information was first provided.
Organization | ||
---|---|---|
Open source project initiated by Siemens AG |
EXIficient Project | ||
---|---|---|
http://exificient.github.io/ |
Platform, Language | ||
---|---|---|
Java, OS Independent (written in an interpreted language) | ||
JavaScript | ||
C/C++ |
License | ||
---|---|---|
MIT License |
Description | ||
---|---|---|
The open source project EXIficient is a set of EXI tools in various programming languages. It supports the EXI Profile specification and provides support for memory and processing constraint systems. |
Project | ||
---|---|---|
OpenEXI (Open source project @Sourceforge led by Fujitsu Laboratories of America) |
Platform, Language | ||
---|---|---|
.Net (written in C# language) and Java (written in Java language) |
License | ||
---|---|---|
Apache License, Version 2.0 |
Description | ||
---|---|---|
Nagasena is an open-source implementation of the EXI specification, available both for Java and .Net platform. |
Organization | ||
---|---|---|
Open source project led by EISLAB, Luleå University of Technology |
EXIP Project | ||
---|---|---|
http://exip.sourceforge.net/ |
Platform, Language | ||
---|---|---|
Embedded platforms, Server and Desktop OS | ||
C language |
License | ||
---|---|---|
BSD 3-Clause License |
Description | ||
---|---|---|
The project was started in 2010 and has been continuously developedsince then. Its main goal is to provide an efficient, portable and easyto use library for EXI processing primarily for embedded platforms butalso productivity tools and server applications. EXIP supports the mostrestricted mode of operation of the EXI Profile for limiting usage of dynamic memory.For more information and maturity statement please visit the project web page athttp://exip.sourceforge.net/. |
Organization | ||
---|---|---|
AgileDelta, Inc. |
About The Project | |||
---|---|---|---|
http://www.agiledelta.com/product_efx.html | |||
Efficient XML optimizes the performance, bandwidth utilization and powerconsumption of server, desktop, and embedded/mobile XML applications using acombination of network, processor and small device optimizations. EfficientXML is built on open web standards and includes support for XML, EXI, XMLSchema, XML DOM, SAX, StAX and other APIs. |
Platform, Language | |||
---|---|---|---|
Java Standard Edition and Java Mobile Edition (any Java platform).NET Framework and .NET Compact Framework (any .NET language)Native C/C++ (servers, desktops and small devices) |
License | ||
---|---|---|
Commercial with free 30-day trial |
Description | |||
---|---|---|---|
Efficient XML is a mature, 4th generation, commercial product that providescomplete, high performance and low-footprint implementations of the EXIstandard. It is professionally supported and continuously improved by thecompany that developed the Efficient XML technology. |
Organization | ||
---|---|---|
OSS Nokalva, Inc. |
About The Project | |||
---|---|---|---|
http://www.oss.com/xml/products/xml-products.html | |||
Platform, Language | |||
---|---|---|---|
The OSS EXI Tools for C/C++ consist of a schema preprocessor utilityand a runtime library (EXI/C). The schema preprocessor requires Windowsand the .NET framework, whereas the EXI/C runtime library is a nativeWindows DLL with a C-style API and can be used both by C applicationsand by C++ applications. The OSS EXI Tools for .NET require Windowsand the .NET framework. The EXI/.NET runtime library can be used byapplications written in C# or any other .NET language. |
License | ||
---|---|---|
The current releases of the OSS EXI Tools are prototype releases andare being offered only for evaluation purposes. |
Description | |||
---|---|---|---|
The OSS EXI Tools are a complete implementation of the EXI Recommendation.A user of the EXI/C or EXI/.NET runtime library can either converta whole XML document from/to EXI or read/write an EXI stream one nodeat a time. The EXI/.NET runtime library supports the System.Xml.XmlReader /XmlWriter interfaces. |
Copyright © 2014, 2015, 2016 W3C® (MIT,ERCIM,Keio,Beihang), All Rights Reserved. W3Cliability,trademark,document useandsoftwarelicensing rules apply.Your interactions with this site are in accordancewith ourpublic andMember privacystatements.