効率的な XML 交換( EXI ) は、コンピュータ ネットワーク上でデータを交換するためのバイナリ XML形式です。これは W3C の効率的な拡張可能な交換ワーキング グループによって開発され、プレーン テキストではなくバイナリ データ形式でXML文書をエンコードする最も顕著な取り組みの 1 つです。EXI 形式を使用すると、XML 文書の冗長性や解析コストが軽減されます。コンテンツの書き込み (生成) のパフォーマンスの向上は、書き込み先のメディアの速度、実際の実装の方法と品質に依存します。EXI は、次の場合に便利です。
- 数十バイトからテラバイトまでの幅広いXML文書サイズ
- 計算オーバーヘッドを削減し、圧縮された文書の解析を高速化する
- 効率的な減圧を利用して小型デバイスの耐久性を向上
歴史
ワールドワイドウェブコンソーシアム(W3C)は、2006年3月にフォーマットを標準化するためのワーキンググループを結成しました。Fast Infosetを含むさまざまな提案を評価した結果、EXIがW3CのバイナリXMLフォーマットとして選択されました。[1] EXIフォーマットは、AgileDelta Efficient XMLフォーマットから派生したものです。[2] [3] EXIは、2011年3月10日にW3CによってW3C勧告 として採用されました。第2版は2014年2月に発行されました。[4]
2016年11月、ワーキンググループは、XMLを超えて他のデータ記述言語へのEXIの適用範囲の広さを反映するために、「Efficient XML Interchange (EXI)」から「Efficient Extensible Interchange (EXI)」に名前が変更されました。[5]
特徴
EXI が Fast Infoset より優れている点は、EXI が (オプションで) XML スキーマからより多くの制約を使用することです。これにより、EXI データをよりコンパクトにすることができます。たとえば、XML スキーマで 'bar' という名前の要素は 'foo' という名前の要素内にのみ存在できると指定されている場合、EXI は、ドキュメント内の他の場所に出現する要素と同じトークン スペースを共有する必要がないことを認識して、'bar' 要素に短いトークンを割り当てることができます。このような「スキーマ情報に基づく」圧縮を利用することの主な欠点は、ドキュメントにスキーマが必要なだけでなく、デコーダーにはエンコーダーが使用したのと同じスキーマのコピーが必要になることです。
用途
さまざまなEXI対応アプリケーションが利用可能です。[6]
他のツールにEXI機能を統合できる様々なEXI実装が利用可能である。[7]
関連: EXI は XML 以外のデータ形式にも適応されています。
- EXI4JSONは、 JSONドキュメントに同じフォーマットを使用するために同じワーキンググループによって開発された仕様です。[8]
EXIは米国国防総省のグローバル情報グリッドでの使用が推奨されている。[9]
今後の仕事
EXI ワーキング グループでは、複数の実験的な取り組みが継続して進められています。
- EXI4CSSは、カスケーディングスタイルシート(CSS)をEXIにマッピングする方法を研究しています。[5]
- ソースコードの初期構造化解析ツリーを使用すれば、JavaScriptのEXIは可能と思われます。[5]
- XML 暗号化と XML デジタル署名を使用した XML EXI の潜在的な構成を検討します。
参考文献
- ^ Robin Berjon、Jaakko Kangasharju編(2006年7月20日)。「EXI測定の分析」。W3C 。 2016年9月23日閲覧。
- ^ 「XML をより多くのデバイスと場所へ超高速で配信」 AgileDelta 2015 年 11 月 5 日. 2016 年9 月 23 日閲覧。
- ^ Mishra, Manvi; Gupta, Prabhakar; et al. (2024). 「効率的な拡張可能交換 (EXI) を備えた高速で密集した XML ソリューション」。Tripathi, Suman Lata; et al. (eds.). IoT とコンピューティング技術の新たなトレンド。CRC Press。doi : 10.1201 / 9781003535423-74。ISBN 9781003535423。
- ^ 「Efficient XML Interchange Working Group」。公開ウェブサイト。W3C 。 2016年9月23日閲覧。}
- ^ abc Peintner, Daniel (2016年11月22日). 「Web形式の効率的な表現」. W3Cブログ. W3C. 2024年8月23日時点のオリジナルよりアーカイブ。
- ^ EXIワーキンググループ(2017年3月28日)。「EXIデプロイメント」。EXIワーキンググループの公開ページ。ワールドワイドウェブコンソーシアム。 2017年3月28日閲覧。
- ^ EXIワーキンググループ(2017年3月28日)。「EXI実装」。EXIワーキンググループの公開ページ。ワールドワイドウェブコンソーシアム。 2017年3月28日閲覧。
- ^ Daniel Peintner、Don Brutzman編 (2016年8月23日)。「EXI for JSON (EXI4JSON)」。パブリックワーキングドラフト。ワールドワイドウェブコンソーシアム。 2016年9月23日閲覧。
- ^ Sheldon L. Snyder (2010 年 3 月 1 日)。「効率的な XML 交換 (EXI) 圧縮とパフォーマンス上の利点: 開発、実装、評価」(PDF)。修士論文。米国海軍大学院 (NPS) 。2016 年9 月 23 日閲覧。
外部リンク
- 効率的な XML 交換フォーマット 1.0 (W3C 勧告)
- 効率的な XML 交換評価 (ワーキング グループ ノート)
- EXIficient - EXIficient は、W3C Efficient XML Interchange (EXI) 形式仕様のオープンソース実装のセットです。
- EXIP - オープンソースの C 実装
- Nagasena - FUJITSU が提供する EXI フォーマット 1.0 のオープン ソース Java/C# 実装。
- Efficient XML™ - Java、.NET、C、C++ での EXI 仕様の商用実装
- Exi-Connexion - EXIのワーキングドラフトのオープンソースJava実装 2008年3月26日 ([1])
- OSS EXI Tools for C/C++ および OSS EXI Tools for .NET - OSS Nokalva による EXI の商用実装 (プロトタイプ リリース)
