是否有可用于 .NET Core 3.0 应用程序的 XSLT 和 XQuery 处理器?

2023-12-30

我一直在使用Saxon XSLT 和 XQuery 处理器 - 免费家庭版 https://en.wikipedia.org/wiki/Saxon_XSLT对于我的一些.NET应用。我只需要XSLT 2.0(因为 .NET 不支持 XSLT 3.0)。现在我已经从.NET Framework to .NET Core,我注意到Saxon尚未支持.NET Core因为安装时Nuget对于 Saxon 包,我收到以下错误。

Question:有人知道我可以使用其他替代方案吗?.NET Core需要 XSLT 2.0 和 XQuery 处理的项目?

由于以下错误,我的代码无法编译,因为它无法识别XdmNode, XsltTransformer, etc.

使用 '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, 恢复包'Saxon-HE 9.9.1.5'。 NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' 而不是项目目标框架 '.NETCoreApp,Version=v3.0'。该包可能与您的项目不完全兼容。


XmlPrimehttps://www.xmlprime.com/xmlprime/ https://www.xmlprime.com/xmlprime/是 XQuery 3.1 和 XSLT 2.0 的纯 .NET 实现,它是为 .NET 框架开发的,最新版本 4 也可以与 Mono 一起使用。

我已经安装了 4.1 的当前试用版,并使用 VS 2019 编写了一个 .NET Core 3 控制台应用程序,其中添加了 XmlPrime 安装目录的两个程序集 XmlPrime.dll 和 XmlPrime.ExtensionMethods.dll 作为对 .NET core 的引用项目。

两个简单的例子改编自https://github.com/XmlPrime/Examples/tree/master/Query https://github.com/XmlPrime/Examples/tree/master/Query and https://github.com/XmlPrime/Examples/tree/master/Transform https://github.com/XmlPrime/Examples/tree/master/Transform然后运行良好以在 .NET Core 3 应用程序中执行 XQuery 3 和 XSLT 2。

所以从技术上讲,XmlPrime,至少通过一些表面测试,似乎是 .NET Core 3 的一个选择,但我不知道他们的项目状态,据我所知,他们只是偶尔更新试用版,并且已经停止销售在线商业许可证。您可能需要询问以下人员的联系方式https://www.xmlprime.com/xmlprime/contact.htm https://www.xmlprime.com/xmlprime/contact.htm询问他们是否以其他方式出售完整许可证。

2022 年 Saxonica 发布了 SaxonCS 11 (https://www.saxonica.com/download/dotnet.xml https://www.saxonica.com/download/dotnet.xml),其第一个版本的 XSLT 3.0、XQuery 3.0、XPath 3.1(以及 XSD 1.0 和 1.1 架构验证)的纯 .NET 5 Core 实现。当前的稳定版本是 11.5,在 .NET 6 和 7 上运行。

此外 SaxonCS 12 (https://www.saxonica.com/download/dotnet.xml https://www.saxonica.com/download/dotnet.xml)适用于 .NET 6 和 7 的版本已于 2023 年发布。

对于非商业选项,我已成功使用 IKVM 恢复工具将 Saxon HE 10.8 和 Saxon HE 11.5 Java 交叉编译为 .NET core,在 NuGet 和 Github 上查找包和示例:

  • https://www.nuget.org/packages/SaxonHE11s9apiExtensions/ https://www.nuget.org/packages/SaxonHE11s9apiExtensions/
  • https://github.com/martin-honnen/SaxonHE11IKVMNet6SaxonCSSamples改编 https://github.com/martin-honnen/SaxonHE11IKVMNet6SaxonCSSamplesAdapted
  • https://www.nuget.org/packages/SaxonHE10Net31/ https://www.nuget.org/packages/SaxonHE10Net31/
  • https://www.nuget.org/packages/SaxonHE10Net31Api/ https://www.nuget.org/packages/SaxonHE10Net31Api/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有可用于 .NET Core 3.0 应用程序的 XSLT 和 XQuery 处理器? 的相关文章

随机推荐