SaxonCS is a new product that implements nearly all the functionality of the Java product, but running on .NET Core.

Features of SaxonCS are covered throughout this documentation in the appropriate places. This chapter focuses on the areas where SaxonCS differs from the Java product, and where it differs from the older Saxon/.NET product.

Saxon/.NET was produced by translating the Java bytecode to .NET's equivalent IL code, using the IKVMC cross-compiler. IKVMC does not work with .NET Core, which Microsoft has indicated represents the future direction for .NET, so a different approach was needed. Saxon/.NET will not be developed beyond the 10.x release.

SaxonCS is built by converting the Java source code of the Java product directly to C# source code. The translation is done by a purpose-written transpiler written largely in XSLT. This is not a one-off conversion or a fork: the C# code is regenerated after every change made to the Java source.

The initial release of SaxonCS corresponds in functionality to Saxon-EE on Java, and requires a license key that enables Saxon-EE capability.

For a "quick start" guide on how to get up and running using SaxonCS, see Getting started with SaxonCS.

Further details about installing Saxon on the .NET platform are described at Installation (.NET).

The commands transform, query, and validate take the same parameters as their Java counterparts, with some exceptions. They are described in the following places:

An introduction to the API for Saxon on .NET is provided at Saxon API for .NET; full specifications are available in the .NET API.