Saxon 9.x vs XQSharp vs.AltovaXML for .net

MLe*_*ewi 6 .net xslt xslt-2.0

我需要在.net 4.0中使用XSLT 2.0处理器工具.我发现.net不支持XSLT 2.0.替代方案是Saxon 9.x或XQSharp等第三方引擎.我需要XSLT 2.0支持商业生产环境,其中性能非常重要.问题:

  1. Saxon 9.x或XQSharp,我必须选择哪一个?
  2. 这两种产品的专业版和内容是什么?
  3. 还有其他选择吗?
  4. 与Saxon 9.x或XQSharp相比,AltovaXML怎么样?

MLe*_*ewi 7

在过去的几周里,我使用XQSharp,Saxon 9.x和AltovaXml来重写我的程序,使用的是Microsoft XSLT1引擎.在这里我的经历:

AltovaXml

  • 它是免费的(但免费版本是有限的,不附带来源).
  • 网站还可以,所以你可以找到你需要的东西
  • api很简单,易于设置
  • 有许多不同语言的api
  • 它使用COM,换句话说,需要本机代码互操作
  • 它是我使用的最慢的引擎

XQSharp

  • .NET友好
  • 通过良好的描述抛出良好的例外
  • 比AltovaXml更快
  • 它不是免费的,也没有提供任何来源

Saxon 9.x

  • 不友好的网站,很难找到你搜索的东西
  • 由Michael Kay(XSLT 2.0语言的W3C规范编辑)创建
  • 我用过的最快的XSLT2引擎
  • 有一个有限的开源版本,架构感知和流媒体与非免费版本
  • 基于Java,但附带到.NET的打包IKVM端口

对于我的特定XML和XSLT(XSLT1)转换性能比较:

  1. 0,02 s Microsoft XSLT1引擎
  2. 0,45 s Saxon 9.x
  3. 0.60秒XQSharp(带OptimizationLevel.None)
  4. 0.90秒XQSharp(默认设置)
  5. 1,20秒AltovaXml