/
277.txt
51 lines (37 loc) · 2.74 KB
/
277.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[1] [DFN[[RUBYB[バイナリー]@en[Binary]] XML]] は、[[XML]] の[[バイナリー]]表現のことを指します。
[[テキスト]]ベースの[[マーク付け言語]]としての [[XML]] をそのまま用いるのではなく、
転送や構文解析の効率の良い[[バイナリー]]表現が好ましいと考えられる分野もあり、
様々な[[バイナリー]]表現が検討・提案されてきました。最終的には [[W3C]]
が [[EXI]] を標準化するに至り (そこに至るまで一体何年かかったのか)、
汎用的な [[XML]] の[[バイナリー]]表現の決定版と考えられていました。
[5] しかし、 [[XML]] を[[バイナリー]]で表現すること自体は一般的にはならず、
分野ごとに限定的に用いられたのみでした。[[バイナリー]]表現を取り入れていた分野では
[[EXI]] に移行するメリットがあったのかどうかは怪しく、 [[EXI]]
がどれだけ広く用いられたのかはよくわかりません。
[6] いずれにせよ、 [[XML]] 自体が廃れてしまったので、[[バイナリー]]表現形式も現在ではほとんど使われていません。
* 代替
[7] [[バイナリー]]形式の[[データ]]の交換には、 [[XML]] を使わない
[[Thrift]]、[[Protocol Buffers]]、[[MessagePack]]、[[CBOR]] などが用いられています。
これらのデータ形式の方がより[[プログラミング言語]]の[[データ構造]]に近かったり、
[[プログラミング言語]]の[[ライブラリー]]が整備されていたりして、
使いやすそうです。
* XBC
[4] [[EXI]] の仕様策定に先立って [[W3C]] の [[XBC WG]] において[[バイナリーXML]]の要件と性質が整理されています。
[[XBC]] の項を参照してください。
* バイナリー XML 仕様の一覧
[2] [[バイナリーXML]]を実現する仕様はたくさんあります。これらの中には [[XML]] 本体だけでなく、
[[XML名前空間]]や [[XML Schema]] の一部の機能も含まれていることがあります。逆に [[DTD]]
など [[XML]] 本体の機能で含まれていないものもあります。
[FIG(short list)[
- [[EXI]]
- [[BiM]]
- [[Fast Infoset]]
- [[Efficient XML]]
- [[EBML]]
- [[WBXML]]
]FIG]
* 関連
[8] [[XOP]] のように [[XML]] 自体は変更せず[[添付ファイル]]のような形で[[バイナリー]]データを扱うものもありました。
[9] より単純に [[Base64]] で [[XML]] に[[バイナリーデータ]]を埋め込むこともよくあります。
* メモ
[3] [CITE@en[Binary XML - Wikipedia, the free encyclopedia]] ([TIME[2013-09-17 20:26:59 +09:00]] 版) <https://en.wikipedia.org/wiki/Binary_XML>