w3的exi(高效xml交换)将被标准化。
它号称是“最后一个二进制标准”。
它是存储针对
处理和存储,与XML模式捆绑在一起(使数据
强类型和强结构)。嗯,有很多
声称的优势。我对这个过程印象最深
内存效率测量。
我在问自己,所有的老牌人物都会发生什么
XML API?
这一段与我的问题有关:
4.2现有的XML处理API
由于exi是xml信息集的编码,exi实现可以支持任何常用的xml处理api,因此exi对现有的xml api没有直接影响。但是,使用现有的xml api还需要将exi文档中出现的所有名称和文本转换为字符串。将来,如果更高层可以直接使用这些数据作为exi文档中的类型值,则可能会实现更高的效率。例如,如果更高层需要类型化数据,则遍历其字符串形式可能会导致性能损失,因此,当与exi一起使用时,直接支持类型化数据的扩展api可以提高性能。
来自:http://www.w3.org/TR/exi-impacts/
我的理解是:“在现有的api中使用exi?
没有性能增益!(除非全部重写)
让我们以Java生态系统为例:
我们在最新的jdk 6中有很多xml api
(在每个主要的JDK版本中,都添加了越来越多的内容。)
据我判断,他们中的大多数(如果不是全部)都在使用
内存中的dom树,或序列化(“文本”)表示
要转换/处理/验证/…XML数据。
你们觉得会发生什么
引入exi的api?
谢谢大家的意见。
对于那些不了解exi的人:http://www.w3.org/XML/EXI/

最佳答案

您不需要任何新的api来获得exi的性能增益。w3c进行的所有exi测试和性能度量都使用jdk中内置的标准saxapi。有关最新的测试,请参见http://www.w3.org/TR/exi-evaluation/#processing-results。在这些没有任何特殊api的测试中,exi解析平均比xml快14.5倍。
总有一天,如果人们认为它值得的话,我们可能会看到一些类型化的xml api出现。如果发生这种情况,您将从exi获得更好的性能。然而,要获得像w3c报告的那样出色的性能,并不需要这样做。

09-25 16:56