SaxonHE11NetXslt 11.6.8.9
dotnet tool install --global SaxonHE11NetXslt --version 11.6.8.9
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SaxonHE11NetXslt --version 11.6.8.9
#tool dotnet:?package=SaxonHE11NetXslt&version=11.6.8.9
nuke :add-package SaxonHE11NetXslt --version 11.6.8.9
Thin .NET 6/8 console app/dotnet tool around IKVM cross-compiled .NET version of Saxon-HE 11.6 Java
This tool is a .NET 6/8 console app/a dotnet tool providing a thin .NET 6/8 wrapper around an IKVM cross-compiled version of Saxon HE 11.6 Java to perform XSLT 3.0 transformations.
This is one of the sample projects outlining my successful attempt to apply https://github.com/ikvm-revived/ikvm and https://github.com/ikvm-revived/ikvm-maven to use the open-source Saxon HE 11 Java XSLT 3.0, XQuery 3.1 and XPath 3.1 library in .NET 6 or .NET 8 code.
Please understand that this is my own experiment, it uses the official Saxon HE 11 release from Maven, but the integration with IKVM and IKVM Maven is an experimental work of my own, not in any way an officially tested and supported product by Saxonica, the company that has produced Saxon.
Feel free to use to try and use it under the Mozilla Public License 2.0.
The releases can be found on NuGet.
Understand that this is work in progress and kind of experimental, I don't have access to a complete test suite of unit tests to rigorously test this, I nevertheless feel it can be useful for folks to at least know about this option to run XSLT 3.0 with .NET 6/8, without depending on the so far commercial only SaxonCS from Saxonica.
Known issues: I have created the project with VS 2022 Community Edition on Windows, apps built that way could be deployed and run successfully under Linux or Mac where the dotnet .NET 6 or 8 runtime is installed; by now, the https://github.com/ikvm-revived/ikvm-maven does seem to work on a Mac, so in experiments of your own you should be able to develop and build cross platform.
How to use
Install with e.g.
dotnet tool install --global SaxonHE11NetXslt --version 11.6.8.9
Then you can run SaxonHE11NetXslt
, it takes the same command line argument like Saxon HE Java, so for example, to run XSLT 3.0 with the default xsl:initial-template
you use e.g. SaxonHENetXslt -it -xsl:sheet.xsl
or SaxonHENetXslt -it -xsl:sheet.xsl -o:result.html
.
Note that Saxon HE 11 can also run XSLT 3.0 against JSON input with the -json
option e.g. SaxonHENetXslt -json:input.json -xsl:sheet.xsl
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
This is the first release of Saxon HE 11.6 using the new IKVM 8.9.1 and IKVM.Maven.Sdk 1.7.1, also dual packaged for both .NET 6 and .NET 8