XML ( Extensible Markup Language ) のコンパクトな表現として、さまざまなバイナリ形式が提案されています。バイナリ XML 形式を使用すると、一般的に XML 文書の冗長性が軽減され、解析コストも削減されますが、[1]通常のテキスト エディターやサードパーティ ツールを使用した文書の表示や編集が困難になります。競合する形式はいくつかありますが、まだデファクト スタンダードとして登場したものはありません。ただし、ワールド ワイド ウェブ コンソーシアムは2011 年 3 月 10 日にEXI を勧告として採用しました。 [2]
バイナリ XML は、通常、標準 XML のパフォーマンスでは不十分であるが、ドキュメントを簡単に表示および編集できる形式 (XML) に変換したり、その逆に変換したりする機能が重視されるアプリケーションで使用されます。その他の利点としては、XML ドキュメントの ランダム アクセスやインデックス作成が可能になることなどが挙げられます。
バイナリ XML の主な課題は、広く採用される単一の標準を作成することです。国際標準化機構(ISO) と国際電気通信連合(ITU) は、それぞれ 2007 年と 2005 年にFast Infoset標準を公開しました。別の標準 (ISO/IEC 23001-1) は、バイナリ MPEG 形式 XML ( BiM ) として知られており、 2001 年にISOによって標準化されました。BiMは、デジタル TV とモバイル TV の多くのETSI標準で使用されています。Open Geospatial Consortium は、地理関連データ (GML) に最適化されたバイナリ XML エンコーディング仕様 (現在はベスト プラクティス ペーパー) と、 AIXM をエンコード/デコードするための Fast InfoSet、EXI、BXML、 deflateのパフォーマンスを比較するベンチマークを提供しています。[3]
バイナリ XML の代替手段としては、 XML 文書で従来のファイル圧縮方法 (たとえばgzip ) を使用する方法や、ASN.1などの既存の標準を使用する方法があります。ただし、従来の圧縮方法では、ファイル サイズが小さくなるという利点しかなく、解析時間やランダム アクセスの短縮という利点はありません。ASN.1 /PERは、バイナリ XML 標準の 1 つであるFast Infosetの基礎を形成しています。また、小さなインデックス ファイルを XML 文書に添付して解析のオーバーヘッドを排除するハイブリッドなアプローチ (たとえばVTD-XML )もあります。[4]
バイナリ XML の取り組み
バイナリ XML の概念に関連するプロジェクトとファイル形式には次のものがあります。
- BiM標準はISOから提供され、 MPEGワーキンググループによって開発されました。
- ISO/IECとITU-Tが発行する標準規格であるFast Infoset
- Efficient XML Interchange (EXI) W3C 勧告。AgileDelta , Inc. のEfficient XMLによる作業に基づいています。
- Matroskaの拡張バイナリ メタ言語(EBML)
- WAP バイナリ XML (WBXML)
- .NET バイナリ形式: Microsoftの XML データ構造。実装は.NET Framework 3.0 以降に含まれています。
- バイナリ マークアップ言語 (BML)
バイナリ表現に関連する(または競合する)機能を持つ他のプロジェクトには、次のものがあります。
- XimpleWare および VTD-XML プロジェクトの VTD -XML
- Google のプロトコル バッファ
- アパッチスリフト
- OMGのデータ配信サービス
- ビッグデータのためのApache Avro
- Androidアプリケーションパッケージは文書化されていないバイナリXML形式を使用しています。ソースコードは公開されており、十分にコメントされています。[5]
参照
参考文献
- ^ バイナリ XML のパフォーマンスの問題 http://webservices.sys-con.com/read/250512.htm 2008-05-20 にWayback Machineでアーカイブ
- ^ ジョン・シュナイダー、神谷拓樹編、「効率的なXML交換(EXI)フォーマット1.0」、W3C勧告2011年3月10日 [1]
- ^ AIXM 5.1 圧縮ベンチマーク: 地理関連データを処理する際に EXI、FI、BXML、および deflate はどのように競合するのか?
- ^ 「VTD-XML による XML ドキュメントのインデックス作成」。2008 年 7 月 4 日時点のオリジナルよりアーカイブ。2007年 11 月 28 日閲覧。
- ^ 「Android バイナリ XML 形式はどこに文書化されていますか?」。Reverse Engineering Stack Exchange。
