W3C

Efficient Extensible Interchange Working Group

Public Page

PublicationsStatusBackgroundParticipation and DiscussionTimelineImplementationsMeetings

This is the public web page for the Efficient Extensible Interchange (EXI) Working Group of the World Wide Web Consortium (W3C). There is also a private page for members of the EXI group, for internal, 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's charter covers 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.


Publications

      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 publication announcement.)
 
      Efficient XML Interchange (EXI) Format 1.0 (Second Edition), Recommendation, 11 February 2014.
( Interoperability Test Framework is available. See below. )
      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 the Efficient 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 a wiki page documenting inaccuracies that have been found with regards to the measurements note document.

Present Status

(In reverse chronological order, as of February 2016, most recent publication of each document produced by the WG).

In April 2018, the Proposed Recommendation for Canonical EXI was published.

In August 2016, Second Public Working Draft of the EXI4JSON (EXI for JSON) specification was published.

In May 2015, Last Call Working Draft of the Canonical EXI specification was published.

In Sep 2014, "Efficient XML Interchange (EXI) Profile for limiting usage of dynamic memory" specification became a Recommendation.

In April 2014, the third draft note of EXI Primer was published.

In February 2014, "Efficient XML Interchange (EXI) Format 1.0 (Second Edition)" became a Recommendation.

In April 2009, Evaluation of the EXI Format (Second Working Draft) relative to XML, gzipped XML and ASN.1 PER, was published.

In September 2008, a draft note on EXI Impacts describing the impacts of EXI that may potentially cause to affect existing XML technologies, XML processors, and applications was published.

In December 2007, a draft note on the EXI Best Practices describing the guidelines for the interoperable deployment of EXI was published.

Status history that predates the above events are described here.


Background

The Efficient XML Interchange Working Group was chartered to define an alternative encoding of the XML Information Set, that addressed the requirements identified by the XML Binary Characterization (XBC) Working Group, while maintaining the existing interoperability between XML applications and XML specifications.

The task of this Working Group is to jointly establish and optimize, the performance of an alternate, non-textual, encoding of XML. At the same time, disruption to existing processors, and impact on the complex real-world uses of XML, must be minimized. The Working Group started by considering existing solutions and has evaluated each in terms of implementability and performance against the requirements produced by the XBC Working Group. We gathered together a test data set of more than 10000 documents in 30 or so XML vocabularies, 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 base technologies for a potential EXI format, were then measured over a number of merit criteria, within a benchmark framework based on japex. The measurements are presented in the Efficient XML Interchange Measurements Note


Measurement Test Framework

The EXI framework is available for download. This measurement test framework was created for the purpose of obtaining empirical data about format properties. In this release, the framework can be used to measure Processing Efficiency and Compactness over a wide variety of XML documents collected by the WG. The framework includes support for in-memory and network testing, the latter is particularly useful to measure the performance of a format relative to the available bandwidth. See the Release Notes for further information.


Interoperability Test Framework

The EXI interoperability test framework was created for the purpose of conducting interoperability assessment as a means to evaluate the clarity of the EXI Format and related specifications. It is not intended as a means to validate conformance though it would likely facilitate EXI implementation efforts.

• EXI Format 1.0

   The interoperability test framework is available for download. See the README for more information.
   (The interoperability test framework used for the initial EXI 1.0 specification published on 10 March 2011 is separately available here.)
   The results of the interoperability tests performed on 3 implementations are available in the implementation reports (Second Edition and First Edition).

• EXI Profile for limiting usage of dynamic memory

   The interoperability test framework is available for download. See the README for more information.
   The results of the interoperability tests performed on 3 implementations are available in the implementation report.

Participation and Discussion

The Efficient Extensible Interchange Working Group operates according to this charter. You can get involved by joining the W3C. The list of the Working Group's participants is available on the WG status page.

The public mailing list for technical discussion with the Working Group is public-exi@w3.org (Archives).

The public mailing list for sending feedbacks on the EXI format specification is public-exi-comments@w3.org (Archives).


Timeline

Below are the estimated schedules (as of 04 Nov 2016) for the works underway.

Canonical EXI
   Spring 2017
        Proposed Recommendation

Patent Disclosures

W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent.


EXI Implementations

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 in the 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.

/ EXIficient

     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.

/ Nagasena

     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.

/ EXIP

     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 developed since then. Its main goal is to provide an efficient, portable and easy to use library for EXI processing primarily for embedded platforms but also productivity tools and server applications. EXIP supports the most restricted 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 at http://exip.sourceforge.net/ .

/ Efficient XML

     Organization
     AgileDelta, Inc.
     About The Project
     http://www.agiledelta.com/product_efx.html  
Efficient XML optimizes the performance, bandwidth utilization and power consumption of server, desktop, and embedded/mobile XML applications using a combination of network, processor and small device optimizations. Efficient XML is built on open web standards and includes support for XML, EXI, XML Schema, 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 provides complete, high performance and low-footprint implementations of the EXI standard. It is professionally supported and continuously improved by the company that developed the Efficient XML technology.

/ OSS EXI Tools for C/C++ and OSS EXI Tools for .NET (prototypes)

     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 utility and a runtime library (EXI/C). The schema preprocessor requires Windows and the .NET framework, whereas the EXI/C runtime library is a native Windows DLL with a C-style API and can be used both by C applications and by C++ applications. The OSS EXI Tools for .NET require Windows and the .NET framework. The EXI/.NET runtime library can be used by applications written in C# or any other .NET language.
     License
     The current releases of the OSS EXI Tools are prototype releases and are 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 convert a whole XML document from/to EXI or read/write an EXI stream one node at a time. The EXI/.NET runtime library supports the System.Xml.XmlReader / XmlWriter interfaces.

Meetings

Face-to-Face

Telecons

 

 Takuki Kamiya, Chair,
Liam Quin, Carine Bournez, W3C Team contact.
$Id: index.html,v 1.158 2018/05/07 06:48:37 dpeintne Exp $