我需要XSLT 2.0处理器工具才能在.net 4.0中使用。
我发现.net不支持XSLT 2.0。替代方案是第三方合作伙伴引擎,例如Saxon 9.x或XQSharp。对于性能非常重要的商业生产环境,我需要XSLT 2.0支持。问题:
Saxon 9.x或XQSharp,我必须选择哪一个? 这两种产品的优缺点是什么? 还有其他选择吗? 与Saxon 9.x或XQSharp相比,AltovaXML怎么样? 在过去的几周中,我使用XQSharp,Saxon 9.x和AltovaXml从Microsoft XSLT1引擎重写了我的程序。这是我的经验:
AltovaXml
它是免费的(但免费版本受到限制,并且不附带源代码)。 该网站正常,因此您可以找到所需的该api很简单,易于设置具有适用于多种不同语言的api 它使用COM,换句话说,需要 native 代码互操作这是我使用的最慢的引擎
XQSharp
.NET友好的抛出带有良好描述的良好异常比AltovaXml 更快它不是免费的,没有提供任何源代码。
Saxon 9.x
网站不友好,很难找到您搜索的东西由Michael Kay(XSLT 2.0语言的W3C规范的编辑器)创建我使用最快的XSLT2引擎有一个有限的开源版本,非免费版本提供了模式感知和流式传输基于Java,但附带了到.NET的打包的IKVM端口
对于我特定的XML和XSLT(XSLT1)转换性能比较:
0,02的Microsoft XSLT1引擎 0,45 s撒克逊人9.x 0.60 s XQSharp(带有OptimizationLevel.None) 0.90 s XQSharp(默认设置) 1,20 s AltovaXml