1.0が、昨年の12月8日に勧告候補になっています。W3Cでは、複数の実装による相互運用の検証を経て勧告となる予定です。1.0のドラフトのAbstractでは、EXIを次のように説明しています。resources.EXIは非常にコンパクトなXMLの表現です。それは、処理性能の向上と処理リソースの効率化の両方を意図しています。information.EXIのフォーマットは、情報と形式言語の理論を組み合わせ、計測によって確認された実用的なテクニックを加えて、エンコードされたXML情報の伝達効率化を実現しています。知られているように、XML文書は人間が読んで理解することもできるテキストデータであることが特徴の1つです。テキストでの表現はXML文書を冗長なデータとしている一因であり、XML文書形式でのデータ交換の際には効率化のために圧縮した方がいいのではないかという議論はずっと以前からありました。JapanEXIのドラフトは内容を理解するのが難しいのですが、幸いにも丸山宏氏のブログ「元外資系エグゼクティブの日々」のエントリ「XMLはバイナリ化するか」で、EXIが詳しく紹介されています。丸山氏によると、EXIでは単にZIP圧縮するよりも高度な方法でXML文書を圧縮しているとのことです。具体的には、スキーマによって文書の構造が決定している場合には、文書中の特定の部分はあとで補完できるためいちいち符号化しなかったり、また、XML文書中の文字列の並べ替えを行って、より効率的な圧縮ができるようにしていると説明されています。EXIではXML処理の高速化も意図しています。Streams」から引用します。body.EXIは、XML文書のコンテンツをEXIストリームとして表現します。以下の図で示すように、EXIストリームは、EXIヘッダとそれに続くEXIボディで構成されます。EXIでは、XML文書で採用されているタグで値を囲む形式を、EXIヘッダとEXIボディという組み合わせに変換し、それが連なったEXIストリームという構成になるようです。これによってXML文書(を変換したEXI)をパースするときに順に処理していけばよくなるため高速化されるのでしょう。ちなみにEXIを処理する機構は「XMLパーサ」とは別に「EXIプロセッサ」と呼ばれるようです。人が見ないXML文書はEXI化していくのではXML文書をバイナリ化に対してはさまざまな批判も同時にあり、丸山氏のエントリでもそのことに触れています。2.0」OMGが採択。ベンダ間の共通フォーマットも」で紹介したように、企業のシステム基盤としてSOAは大きな役割を果たそうとしており、そのSOAではWebサービスが用いられ、その情報交換フォーマットとしては主にXML文書が使われています。ここでやり取りされるXML文書のほとんどは、より小さく、より高速に処理できることの方が、人間が見ることのできるテキスト形式になっていることよりもずっと重要でしょう。そのような役割のXML文書は、SOAの普及によって飛躍的に増大することが予想されます。EXIはそうした用途で使われるフォーマットとして重宝されるのではないでしょうか。よるEXIの詳しい解説を見ることができます。日本語で参照できる最も詳細で信頼性の高い情報ではないかと思います。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。2.7サポートを発表Google、Lookerの買収完了を発表。Enterprise、BtoBスタートアップ向け支援プログラムで無料提供と発表。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。