我需要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
  • 10-08 20:01