拡張子 | .exi[1](附録F.2) |
---|---|
MIMEタイプ | application/exi[1](附録F.2) |
タイプコード | APPL |
マジック ナンバー | 24 45 58 49 (“$EXI”) |
開発者 | World Wide Web Consortium |
初版 | 2007年7月16日[2] |
最新版 | 1.0 (2014-02-11) |
種別 | 可逆圧縮形式 |
派生元 | XML |
ウェブサイト | Efficient XML Interchange (EXI) Format 1.0 |
Efficient XML Interchange (EXI[注釈 1]、日: 高効率XML交換[4][注釈 2]) とは、処理速度と計算機資源の利用を同時に最適化することを目指す[1]拡張可能なマーク付け言語符号化規約のW3C勧告である。
拡張可能なマーク付け言語 (XML) 文書は可読性・拡張性に優れる反面、冗長性が高く容量が肥大化しがちである[6]:53。これを解決する手段として、XML文書に汎用の(可逆)圧縮を施すことが考えられる。実際、オフィス文書のためのオープン文書形式 (OpenDocument) や変倍ベクタ図形 (SVG) はDeflate算法に基づく圧縮形式に対応している[7][8]。
しかし、整形式のXML文書は、その構造的特性を利用して[注釈 3]汎用の方法より高い効率で圧縮が行える[10]。更に、繰り返し登場する似通った文字列を集中的に処理することでも、高効率な圧縮が期待できる[10]。EXIはそのような実装の一つである[6]:53。
大きく二種類の符号化方式を提供している。
EXIの活用が想定される省メモリ環境においては、XMLの構文解析自体が負担である。EXIは(その小さい容量によって)確かに通信量を軽減するものの、結局復号して尋常のXML(単なる文字列ではなくDOM, SAX, StAX相当の抽象化された構造情報)として扱わねばならないので、少メモリ環境に於けるXML利用に際しての問題点を半分しか解決しない[13]:55。
また、仕様が複雑である為に実装が巨大になりがちである[14]:6。