Hi,
You always had to get the Saxon HE JAR and the xmlresolve JAR yourself to transform XSLT 2.0 and higher and put it in lib/custom. This is using the BaseX ZIP distribution, I don't know where this is when you use setup, I don't use anything but ZIP). By default the XSL transform built into JRE is used and that is Xerces XSLT 1.0 as far as I know. Last I tried you can get any Saxon HE you like even 12.x and it will work with BaseX 8.6.7
Best regards Omar
Am 08.02.2024 um 10:50 schrieb Martin Dowling:
Thank you, Liam.
I sorted this out by upgrading the version of the Saxon processor in my /lib/ directory from 9.7 to 9.9.
I did already have xsl:stylesheet/@version = '2.0' in my stylesheet, and BaseX appeared to be set to run XSLT 2.0: running xslt:transform() in the GUI returned a value of "2.0". However, the older Saxon version didn't handle XSLT 2.0 functions.
Regards,
Martin
-----Original Message----- From: Liam R. E. Quinliam@fromoldbooks.org Sent: 08 February 2024 00:20 To: Martin DowlingMartin.Dowling@bloomsbury.com;basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] XSLT version
On Wed, 2024-01-10 at 17:09 +0000, Martin Dowling wrote:
Hi
I’m trying to run a query in BaseX (version 8.6.7) which calls an XSLT 2.0 stylesheet using xslt:transform(). I’m getting errors that clearly imply the system does not recognise XSLT 2.0 functions, and is expecting an XSLT 1.0 stylesheet.
Did you get sorted out? You need to put a copy of your XSLT processor, e.g. Saxon, in the lib/custom directory, e.g. saxonpe.jar and of course make sure the stylesheet has version="2" on the xsl:stylesheet element.
liam