Efficient XML Interchange
XMLの効率的な圧縮法を定めるW3C勧告
Efficient XML Interchange (EXI[注釈 1]、日: 高効率XML交換[4][注釈 2]) とは、処理速度と計算機資源の利用を同時に最適化することを目指す[1]拡張可能なマーク付け言語符号化規約のW3C勧告である。
拡張子 | .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 |
背景
編集拡張可能なマーク付け言語 (XML) 文書は可読性・拡張性に優れる反面、冗長性が高く容量が肥大化しがちである[6]:53。これを解決する手段として、XML文書に汎用の(可逆)圧縮を施すことが考えられる。実際、オフィス文書のためのオープン文書形式 (OpenDocument) や変倍ベクタ図形 (SVG) はDeflate算法に基づく圧縮形式に対応している[7][8]。
しかし、整形式のXML文書は、その構造的特性を利用して[注釈 3]汎用の方法より高い効率で圧縮が行える[10]。更に、繰り返し登場する似通った文字列を集中的に処理することでも、高効率な圧縮が期待できる[10]。EXIはそのような実装の一つである[6]:53。
概要
編集原則
編集形式
編集大きく二種類の符号化方式を提供している。
- 組込み文法[6]:53 (英: Built-In Grammar)
- 要素や属性の名前を事前に把握できないため、EXIストリームにそれらの情報を格納しなくてはならない。故にファイル容量が大きくなり、また文法を学習的に解釈するので、実装時のメモリ使用量を予測しづらい問題がある[12]:55。
- スキーマ由来文法[6]:53 (英: Schema-Informed Grammar)
- 要素や属性の名前を事前に把握できるため、EXIストリームにそれらの情報を格納しなくてよい。故にファイル容量が小さくなり、また特にstrictモードでは、与えられたスキーマで解釈できる情報以外を復号しないため、解釈する文法は成長しない。よって実装時のメモリ使用量は固定される[13]:55。
評価
編集利点
編集- 省メモリ
- 特にスキーマ由来文法を用いる方式は省メモリである[14]:2。
批判・欠点
編集EXIの活用が想定される省メモリ環境においては、XMLの構文解析自体が負担である。EXIは(その小さい容量によって)確かに通信量を軽減するものの、結局復号して尋常のXML(単なる文字列ではなくDOM, SAX, StAX相当の抽象化された構造情報)として扱わねばならないので、少メモリ環境に於けるXML利用に際しての問題点を半分しか解決しない[13]:55。
また、仕様が複雑である為に実装が巨大になりがちである[14]:6。
実装
編集脚注
編集注釈
編集出典
編集- ^ a b c d w3c 2014.
- ^ “Efficient XML Interchange (EXI) Format 1.0”. W3C. 2019年8月12日閲覧。
- ^ 上谷 2009.
- ^ 落合, 土井 & 江崎 2013.
- ^ DLM 2013.
- ^ a b c d 米澤 & 土井 2015.
- ^ JISX4401 2014.
- ^ JISX4197 2012.
- ^ JISX4159 2005.
- ^ a b 丸山 2009.
- ^ d0i 2013.
- ^ 佐藤, 土井 & 寺本 2012.
- ^ a b 佐藤 2012.
- ^ a b 土井, 佐藤 & 寺本 2013.
参考文献
編集- “CA-EXI:運用コンテキストとEXI符号化を用いたIEEE1888メッセージ圧縮手法” (PDF) (2013年10月). 2019年8月2日閲覧。
- DLMフォーラム財団 (2013年3月25日). “コアサービス及びプラグインモジュール” (PDF). 2019年8月2日閲覧。
- 上谷 卓己 (2009年5月12日). “EXIについて” (PDF). 2019年8月2日閲覧。
- 佐藤 弓子、土井 裕介、寺本 圭一「XML-Less EXIを搭載した家電用通信アダプタの試作および評価」『情報処理学会論文誌 コンシューマ・デバイス&システム (CDS)』第2巻第2号、2012年7月26日、54-62頁、ISSN 2186-5728、2019年8月2日閲覧。
- 米澤 祐紀、土井 裕介「IoT機器に対するEXI利用時のスキーマ簡約によるROM必要量最適化」『情報処理学会論文誌 コンシューマ・デバイス&システム (CDS)』第5巻第4号、2015年10月3日、52-60頁、ISSN 2186-5728、2019年8月2日閲覧。
- 土井 裕介、佐藤 弓子、寺本 圭一「XMPPのSchema-Informed EXI利用における課題と解決」『研究報告インターネットと運用技術 (IOT)』2013-IOT-20第25号、2013年3月7日、1-6頁、NCID BA79996686、2019年8月2日閲覧。
- 丸山 宏 (2009年12月26日). “XMLはバイナリ化するか”. 2019年8月2日閲覧。
- 富士通株式会社 (2012年7月11日). “EXI (Efficient XML Interchange) ご紹介” (PDF). 2019年8月2日閲覧。
- d0i (2013年5月19日). “EXIとは何か?(準備編)”. 2019年8月2日閲覧。
- “Efficient XML Interchange (EXI) Primer”. W3C (2014年4月27日). 2019年8月2日閲覧。
- “Efficient XML Interchange Evaluation”. W3C (2009年4月7日). 2019年8月2日閲覧。
- 諸規格
- “Efficient XML Interchange (EXI) Format 1.0 (Second Edition)”. W3C (2014年2月11日). 2019年8月10日閲覧。
- JIS X 4159:2005「拡張可能なマーク付け言語 (XML) 1.0」(日本産業標準調査会、経済産業省)
- JIS X 4401:2014「オフィス文書のためのオープン文書形式 (OpenDocument) v1.1」(日本産業標準調査会、経済産業省)
- JIS X 4197:2012「変倍ベクタグラフィックス」(日本産業標準調査会、経済産業省)
関連項目
編集外部リンク
編集- Efficient XML Interchange (EXI) Format 1.0 (Second Edition) - EXIのW3C勧告。
- EXI for JSON - W3C作業部会が覚書として公開している、JSONに対するEXI。