Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Binary XML
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Binary representation of Extensible Markup Language}} Various [[binary file|binary]] formats have been proposed as compact representations for [[XML]] (Extensible [[Markup language|Markup Language]]). ==Binary representation== Using a binary XML format generally reduces the verbosity of XML documents thereby also reducing the cost of parsing,<ref>The performance woe of binary XML http://webservices.sys-con.com/read/250512.htm {{Webarchive|url=https://web.archive.org/web/20080520090831/http://webservices.sys-con.com/read/250512.htm |date=2008-05-20 }}</ref> but hinders the use of ordinary text editors and third-party tools to view and edit the document. There are several competing formats, but none has yet emerged as a [[de facto standard|''de facto'' standard]], although the [[World Wide Web Consortium]] adopted [[Efficient XML Interchange]] (EXI) as a Recommendation on 10 March 2011.<ref>John Schneider, Takuki Kamiya, eds., "Efficient XML Interchange (EXI) Format 1.0", W3C Recommendation 10 March 2011 [http://www.w3.org/TR/2011/REC-exi-20110310/]</ref> Binary XML is typically used in applications where the performance of standard XML is insufficient, but the ability to convert the document to and from a form (XML) which ''is'' easily viewed and edited is valued. Other advantages may include enabling [[random access]] and [[index (database)|index]]ing of XML documents. The major challenge for binary XML is to create a single, widely adopted standard. The [[International Organization for Standardization]] (ISO) and the [[International Telecommunication Union]] (ITU) published the [[Fast Infoset]] standard in 2007 and 2005, respectively. Another standard (ISO/IEC 23001-1), known as Binary MPEG format for XML ([[BiM]]), has been standardized by the ISO in 2001. [[BiM]] is used by many [[European Telecommunications Standards Institute]] (ETSI) standards for digital TV and mobile TV. The [[Open Geospatial Consortium]] provides a Binary XML Encoding Specification (currently a [[Best practice|Best Practice]] Paper) optimized for geo-related data (GML) and also a benchmark to compare performance of Fast InfoSet, EXI, BXML and [[deflate]] to encode/decode [[AIXM]].<ref>[https://portal.opengeospatial.org/files/?artifact_id=46394 AIXM 5.1 compression benchmarking : how EXI, FI, BXML and deflate compete when dealing with geo-related data ?]</ref> Alternatives to binary XML include using traditional file compression methods on XML documents (for example [[gzip]]); or using an existing standard such as [[ASN.1]]. Traditional compression methods, however, offer only the advantage of reduced file size, without the advantage of decreased parsing time or random access. [[ASN.1]]/PER forms the basis of [[Fast Infoset]], which is one binary XML standard. There are also hybrid approaches (e.g., [[VTD-XML]]) that attach a small index file to an XML document to eliminate the overhead of parsing.<ref>{{Cite web |url=http://xml.sys-con.com/read/453082.htm |title=Index XML documents with VTD-XML |access-date=2007-11-28 |archive-url=https://web.archive.org/web/20080704164141/http://xml.sys-con.com/read/453082.htm |archive-date=2008-07-04 |url-status=dead }}</ref> == Binary XML efforts == Projects and file formats using binary XML include: * [[BiM]] Standard, from the [[International Organization for Standardization|ISO]], developed by the [[MPEG]] working group * [[Fast Infoset]], a standard published by ISO/IEC and ITU-T * [[Efficient XML Interchange]] (EXI) W3C Recommendation, based on work by [[Efficient XML Interchange|Efficient XML]] from AgileDelta, Inc. * [[Extensible Binary Meta Language]] (EBML) from [[Matroska]] * [[WBXML|WAP Binary XML]] (WBXML) * [http://msdn.microsoft.com/en-us/library/cc219210.aspx .NET Binary Format: XML Data Structure] from [[Microsoft]]; the implementation included in [[.NET Framework]] 3.0 and later. *[https://www.gnu-log.net/home/bml Binary Markup Language] (BML) Other projects that have functionality related to (or competing with) binary representations include: * [[VTD-XML]] from XimpleWare and VTD-XML project * [[Protocol Buffers]] from Google * [[Apache Thrift]] * [[Data Distribution Service]] from [[Object Management Group|OMG]] * [[Apache Avro]] for Big Data * [[Android application package]] uses an undocumented binary XML format; the [[source code]] is open and well-commentated.<ref>{{cite web |title=Where is Android binary XML format documented? |url=https://reverseengineering.stackexchange.com/questions/21806/where-is-android-binary-xml-format-documented |website=Reverse Engineering Stack Exchange}}</ref> ==See also== * [[BSON]] * [[MessagePack]] * [[CBOR]] * [[Canonical S-expressions]] ==References== {{Reflist}} {{DEFAULTSORT:Binary Xml}} [[Category:XML]] [[Category:Data serialization formats]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)