最近,W3C 发布了高效 XML 交换格式第一版公开草案,该格式建议压缩 XML 以增加在线或 CPU 间的效率。可以预料的是,我们很快就能看到对于这个新标准的批评……是的,另一场关于二进制 XML 的争论正在酝酿之中。
该建议格式如下:
“EXI(Efficient XML Interchange)格式使用由信息和正规语言理论衍生出的一种混合方法,加上经测量验证有效的实际技术,用于熵编码 XML 信息。利用相对简单的算法(它遵循快速而简洁的实现),以及少量的数据类型,它可靠地产生 XML 事件流的高效编码。”
简单的说,就是:XML 的压缩算法。正如所预料的,批评很快随之而来。首先发难的是 Elliotte Harold :
高效 XML 交换格式既不高效,也非 XML,同样也不具有可交换性。
Joe Gregorio 说他们爱怎么称呼它都行,但是它仍是二进制 XML。同时,在 XML 开发者邮件列表中,Michael Champion 问道:“再次启动二进制XML 这一永恒思路的时机到了吗?”。在随后的讨论线索中,有些人就EXI 与以前的二进制交换格式的努力(如快速信息集格式(FI))之间的区别发起讨论。
Santiago Pericas-Geerstsen(他是 W3C XML 二进制描述工作组的编辑)对最后一个讨论进行了回应,并说 EXI 比 FI 要强,因为它“知道”处理 XML,且没有一些通用的信息集。这种先知先觉允许 EXI 产生更简洁的结果。同样,EXI 以字节为单位工作,而不象 FI 以位为单位,这使得 EXI 的 CPU 计算量更小。Santiago 还提到了 EXI 的内部效率测试,测试结果非常好。
无论如何,同样值得注意的是,在 2005 年 5 月,技术架构组(TAG)发行的报告中对二进制 XML 格式表示了厌烦:
因此,我们相信二进制 XML 的好处必须是可预见的和引人注目的,以证明建议的开发是正确的。
……
如果 XML 1.x 内在就能满足用户的需要,那么我们的努力方向应该放在探究调节我们的 XML 实现上,而不是设计新的格式。测量环境应该尽可能的代表全面优化的实现,不只是 XML 解析器,还有应用或中间件组的周边事物。
二进制 XML 会再次抓住这次时机吗?只有时间能说明一切。
查看英文原文: W3C Efficient XML Interchange format draft published
评论