W3C 高效 XML 交换格式草案发表

  • Arnon Rotem-Gal-Oz
  • 胡键

2007 年 7 月 24 日

话题:SOA架构

最近,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

SOA架构