Efficient XML Interchange: Difference between revisions

Content deleted Content added
JayMoog (talk | contribs)
m Added link to EXI4JSON
Tag: Reverted
Bender the Bot (talk | contribs)
m External links: HTTP to HTTPS for SourceForge
 
(8 intermediate revisions by 5 users not shown)
Line 20:
| publisher= AgileDelta
| date= 5 November 2015
| accessdate= 23 September 2016 }}</ref><ref>{{cite book|first1=Manvi|last1=Mishra|first2=Prabhakar|last2=Gupta|first3=SS|last3=Bedi|first4=Sudheer Kumar|last4=Singh|first5=Ankur|last5=Kumar|display-authors=2|year=2024|chapter=Rapid and Close-Packed Xml Solution with Efficient Extensible Interchange (EXI)|doi=10.1201/9781003535423-74|editor-first1=Suman Lata|editor-last1=Tripathi|editor-first2=Devendra|editor-last2=Agarwal|editor-first3=Anita|editor-last3=Pal|editor-first4=Yusuf|editor-last4=Perwej|display-editors=1|title=Emerging Trends in IoT and Computing Technologies|isbn=9781003535423|publisher=CRC Press}}</ref>
| accessdate= 23 September 2016 }}</ref>
EXI was adopted as a [[W3C recommendation]] by the W3C on 10 March 2011. A second edition was published in February 2014.<ref>{{Cite web |title= Efficient XML Interchange Working Group |work= Public web site |publisher= W3C |url= https://www.w3.org/XML/EXI/ |accessdate= 23 September 2016 }}}</ref>
 
In November 2016, the working group was renamed to "Efficient Extensible Interchange (EXI)" from "Efficient XML Interchange (EXI)" to reflect the broader scope of EXI applicability beyond XML to other data-description languages. <ref name="PeintnerBlog">{{cite web
| url= https://www.w3.org/blog/2016/11/efficient-representation-for-web-formats
| title= Efficient representation for Web formats
| publisherwebsite= W3C Blog |authorpublisher=W3C|first= Daniel |last=Peintner
| date= 22 November 2016
| archivedate=23 August 2024|archiveurl=https://archive.today/20240823023435/https://www.w3.org/blog/2016/efficient-representation-for-web-formats/|url-status=live
| accessdate= 28 February 2017 }}</ref>
}}</ref>
 
==Features==
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;<ref>{{cite thesis|last=Hill|first=Bruce W.|date=March 2015|title=Evaluation of efficient XML interchange (EXI) for large datasets and as an alternative to binary JSON encodings|degree=Master's|hdl=10945/45196|hdl-access=free|publisher=Naval Postgraduate School|___location=Monterey, CA}}</ref> 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 to utilizing such "schema-informed" compression is that, not only does the document require a schema, but the decoder needs a copy of the same schema that the encoder used.
 
==Uses==
Line 37 ⟶ 38:
A variety of EXI-capable applications are available.<ref>{{Cite web |title= EXI Deployment |date= 28 March 2017 |work= EXI Working Group public page |publisher= World Wide Web Consortium |author= EXI Working Group |url= https://www.w3.org/XML/EXI/wiki/EXIDeployment |accessdate= 28 March 2017 }}</ref>
 
A variety of EXI implementations are available that enable the integration of EXI capabilities in other tools.<ref>{{Cite web |title= EXI Implementations |date= 28 March 2017 |work= EXI Working Group public page |authorfirst= EXI Working Group Takuki|last=Kamiya|publisher= World Wide Web Consortium |url= https://www.w3.org/XML/EXI/#implementations |accessdate= 28 March 2017 }}</ref>
 
Related: EXI is being adapted for non-XML data formats as well.
 
* [https://www.w3.org/TR/exi-for-json EXI4JSON] is a specification developed by the same working group to use the same format for [[JSON]] documents.<ref>{{Cite web |title= EXI for JSON (EXI4JSON) |date= 23 August 2016 |work= Public Working Draft |publisher= World Wide Web Consortium |editor1= Daniel Peintner |editor2= Don Brutzman |url= https://www.w3.org/TR/exi-for-json/ |accessdate= 23 September 2016 }}</ref>
 
EXI was recommended for use in the US Department of Defense [[Global Information Grid]].<ref>{{Cite web thesis|title= Efficient XML Interchange (EXI) Compression and Performance Benefits: Development, Implementation and Evaluation |workdegree= Masters Thesis Master's|authorfirst= Sheldon L. |last=Snyder |urlhdl= http://calhoun.nps.edu/bitstream/handle/10945/5422/10Mar_Snyder.pdf |hdl-access=free|publisher= US Naval Postgraduate School (NPS) |date= 1 March 2010 |accessdate= 23 September 2016 }}</ref>
 
==Future Workwork==
 
Multiple experimental initiatives continue to be pursued by the EXI Working Group.
* EXI4CSS is exploring how to map Cascading Style Sheets (CSS) to EXI. <ref name="PeintnerBlog"/>
* EXI for JavaScript appears to be possible if using the initial structured parse tree for source code. <ref name="PeintnerBlog"/>
* Considering potential composition of XML EXI with XML Encryption and XML Digital Signature.
 
Line 59 ⟶ 60:
* [http://www.w3.org/TR/2009/WD-exi-evaluation-20090407/ Efficient XML Interchange Evaluation (Working Group Note)]
* [https://exificient.github.io/ EXIficient] - EXIficient is a set of open source implementations of the W3C Efficient XML Interchange (EXI) format specification
* [httphttps://exip.sourceforge.net/ EXIP] - Open source C implementation
* [httphttps://openexi.sourceforge.net/ Nagasena] - Open Source Java/C# implementations of the EXI Format 1.0 provided by FUJITSU.
* [http://www.agiledelta.com/product_efx.html Efficient XML™] - commercial implementation of the EXI specification in Java, .NET, C and C++
* [https://github.com/pfisterer/exi-connexion Exi-Connexion] - Open Source Java implementation of EXI's Working Draft 26 March 2008 ([http://www.w3.org/TR/2008/WD-exi-20080326/])