Re: [xsl] command line option like -xsltversion:(2.0|3.0) with Saxon 9.9

Subject: Re: [xsl] command line option like -xsltversion:(2.0|3.0) with Saxon 9.9
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 17 Nov 2019 11:40:03 -0000
Saxon 9.9 always runs as an XSLT 3.0 processor.

The only thing that would be different if it ran as a 2.0 processor is that
certain things would cause errors, for example use of xsl:iterate or xsl:map.
While it's easy enough to detect most of those things and throw an error if
they are used, some of the differences are more subtle and require run-time
intervention - an example is use of exponential notation in format-number(),
or changes to regular expressions. Maintaining conditional code for these
things was getting increasingly cumbersome.

Saxon will still run XSLT 2.0 stylesheets without any problem, the only
difference is that it no longer has an option to reject XSLT 3.0 constructs.

If you want to use an old version of XSLT, use an old version of Saxon...

(Actually, the above is true at the XSLT level. At the XPath level, we do
still have a flag to request pure XPath 2.0 conformance. We kept that because
it's needed for XSD 1.1 conformance.)

Michael Kay
Saxonica

> On 17 Nov 2019, at 07:16, Mukul Gandhi gandhi.mukul@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>     I've a question like following,
>
> To opt for running one of XSLT 2.0 or 3.0 with Saxon-EE command line, Saxon
9.7 provided a command line option '-xsltversion:(2.0|3.0)'. The following is
quoted from Saxon's 9.7 documentation,
>
> <quote>
> -xsltversion:(2.0|3.0)
> Determines whether an XSLT 2.0 processor or XSLT 3.0 processor is to be
used. By default the value is taken from the version attribute of the
xsl:stylesheet element.
> </quote>
>
> But the latest version of Saxon (currently 9.9), doesn't provide such an
option. Can anyone please tell me, how to achieve Saxon 9.7 command line
behavior '-xsltversion:(2.0|3.0)' with Saxon 9.9? Or to put this in another
way, with Saxon-EE 9.9, how can we ask Saxon to run purely as XSLT 3.0
processor or purely as a XSLT 2.0 processor (or for that matter, as a pure
XSLT 1.0 processor as well. To run Saxon's XSLT 1.0 only processor, is Saxon
6.5.5 necessary or we can do this with Saxon 9.9 as well?).
>
>
>
> --
> Regards,
> Mukul Gandhi
>
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by
email <>)

Current Thread