Saxonica.com

Choosing a software package

Saxon is distributed in two packages: Saxon-B and Saxon-SA, each of which is available for both the Java and .NET platforms. Saxon-B is available under an open-source license and all its features are available to all users. Saxon-SA requires activation by a license key, and it is possible to purchase various subsets of the functionality. These are summarized in the table below.

Feature

Saxon-B

Saxon-SA

all

SA001 (Full)

SA030 (XSLT)

SA040 (XQuery)

SA050 (Schema)

Basic XSLT

yes

yes

yes

yes

yes

Basic XQuery including XQJ interface

yes

yes

yes

yes

yes

Schema-Aware XSLT

no

yes

yes

no

no

Schema-Aware XQuery

no

yes

no

yes

no

XQuery Updates

no

yes

no

yes

no

Schema Validation

no

yes

yes

yes

yes

Java Code Generation

no

yes

no

yes

no

Advanced Extension Functions (see Note 1)

no

yes

yes

yes

no

Advanced Optimizer (see Note 2)

no

yes

yes

yes

no

Streaming Extensions for Large Documents

no

yes

yes

no

no

Binary Document Storage (PTree)

no

yes

yes

yes

no

Note 1: Extension functions in this category include saxon:try(), which provides the ability to catch run-time errors; saxon:function() which provides higher-order functions; saxon:analyze-string() and saxon:for-each-group() which provide XQuery users with an equivalent to the xsl:analyze-string and xsl:for-each-group instructions in XSLT; and saxon:index() and saxon:find() which provide a "manual" indexing capability for XQuery, similar to the xsl:key construct in XSLT.

Note 2: Saxon-B always implements joins using a nested-loop strategy, which takes increasingly long as the documents become larger. Saxon-SA where possible uses a hash-join algorithm. This applies whether the join is expressed as a path expression, an XQuery FLWOR expression, or a nested set of xsl:for-each instructions in XSLT. In some of the queries in the XMark benchmark, the effect is to reduce query time on a 10Mb source document from 16 seconds to 45 milliseconds.

For some of these products, it is also possible for existing users to purchase an upgrade license.

For product prices, see the online store.

Next