On 23/07/2025 22:49, Rory Campbell-Lange wrote:
On 23/07/25, Martin Honnen via BaseX-Talk (basex-talk@mailman.uni-konstanz.de) wrote:
On 23/07/2025 18:42, Graydon Saunders wrote:
The zip package from (currently) https://files.basex.org/releases/12.0/BaseX120.zip unpacks and you're basically done.
...
On Wed, Jul 23, 2025, at 12:06, Rory Campbell-Lange wrote:
I may be working soon on a commercial server supporting XQuery 3.1+ with its own proprietary extensions, and XSLT 2.0.
Would basex 12 be the best match for these protocol versions (except of the proprietary components, of course)? I'm most interesting in working in an iterative fashion on the command line, as I'm used to doing with vim and psql (the postgresql interactive terminal).
If you want XSLT 2.0 with BaseX, you additionally need to add Saxon HE that the currently supported versions 12 and 11 of Saxon are really XSLT 3.0 processors, not XSLT 2.0.
Thank you for the clarification about XSLT 3.0, Martin and Graydon.
I've installed the latest basex (BaseX 12.1) and put Saxon-HE.jar in the lib folder.
The example from page 116 of "XSLT, 2nd Edition" by Doug Tidwell which has an XSLT 2.0 example with the use of `separator` for xsl:value-of.
Running
saxon -s:cars.xml -xsl:cars.xsl -o:/tmp/o.xml
works fine (where "saxon" means `java -jar /usr/share/java/Saxon-HE.jar $@`).
Whereas:
basex -o /tmp/o.xml "xslt:transform('cars.xml', 'cars.xsl')"
Fails with:
Stopped at <path>/basex/, 1/15: [FODC0002] "" (Line 1): Content is not allowed in prolog.
I assume I need to do something to fix the install path of the Saxon-HE.jar file.
At the risk of trying everyone's patience further, further advice would be helpful.
I am afraid, somewhere along the postings, I messed the location up, I have looked at my BaseX 12 installation and it has a "lib" folder which has a "custom" sub folder in which I have theĀ Saxon HE jar saxon-he-12.8.jar. That "custom" subfolder has another "lib" sub folder in which I have the libraries Saxon depends on, namely xmlresolver-5.3.3.jar, xmlresolver-5.3.3-data.jar and jline-2.14.6.jar (this lib folder with the xml resolver and jline jars is part of the Saxon HE 12 download you find on Github e.g. https://github.com/Saxonica/Saxon-HE/releases/download/SaxonHE-12-8/SaxonHE1...).
A minimal command line I am able to run (it is Windows Powershell) is e.g.
C:\Users\marti.jdks\temurin-17.0.15\bin\java.exe -cp '.\BaseX.jar;.\lib\custom\saxon-he-12.8.jar' org.basex.BaseX "xslt:transform('sample1.xml', 'sheet1.xsl')"
I hope that gets you up and running.
basex-talk@mailman.uni-konstanz.de