Experiencing unexpected fallback to Xalan with xslt:transform

Sunday, 23 November 2014 · 4 messages
MG
Marc van Grootel23 Nov 2014 22:40 #
Hi, I was using an XSLT 2 stylesheet to transform xqdoc XML to Markdown. I already had a stylesheet that did the same with HTML. This stylesheet is XSLT 2 and uses Saxon HE which is located inside the BaseX lib directory. Saxon HE is picked up just fine with xslt:transform and xslt:transform-text. I used this as basis for the conversion to markdown. Then I added an xsl:function called i:code-block and suddenly got this error message: [bxerr:BXSL0001] ERROR: 'The first argument to the non-static Java function 'codeBlock' is not a valid object reference.' FATAL ERROR: 'Could not compile stylesheet' Ok, so I changed it to a named template called code-block then I got an error about the string-join used inside. So I re-wrote to not use this xpath function. [bxerr:BXSL0001] ERROR: 'Invalid conversion from 'com.sun.org.apache.xalan.internal.xsltc.dom.AdaptiveResultTreeImpl' to 'node-set'.' So something is causing a fallback to Xalan XSLT 1 processor but I cannot undersand why. However, if I remove all functions and named templates this same stylesheet is compiled and executed fine using Saxon again!!?? If necessary I can add some more code. --Marc
MG
Marc van Grootel23 Nov 2014 22:54 #
Hmm, removing all functions and named templates didn't help either. Something is causing that my HTML conversion stylesheet is using Saxon whereas the other stylesheet insists on using Xalan. Here's another error I got when I added a function and called it. [bxerr:BXSL0001] ERROR: 'Cannot find class '1.0'.' FATAL ERROR: 'Could not compile stylesheet'
Quoted text · Marc van Grootel · 34 lines
On Sun, Nov 23, 2014 at 10:40 PM, Marc van Grootel <marc.van.grootel at gmail.com> wrote: > Hi, > > I was using an XSLT 2 stylesheet to transform xqdoc XML to Markdown. I > already had a stylesheet that did the same with HTML. This stylesheet > is XSLT 2 and uses Saxon HE which is located inside the BaseX lib > directory. Saxon HE is picked up just fine with xslt:transform and > xslt:transform-text. I used this as basis for the conversion to > markdown. > > Then I added an xsl:function called i:code-block and suddenly got this > error message: > > [bxerr:BXSL0001] ERROR: 'The first argument to the non-static Java > function 'codeBlock' is not a valid object reference.' > FATAL ERROR: 'Could not compile stylesheet' > > Ok, so I changed it to a named template called code-block then I got > an error about the string-join used inside. So I re-wrote to not use > this xpath function. > > [bxerr:BXSL0001] ERROR: 'Invalid conversion from > 'com.sun.org.apache.xalan.internal.xsltc.dom.AdaptiveResultTreeImpl' > to 'node-set'.' > > So something is causing a fallback to Xalan XSLT 1 processor but I > cannot undersand why. However, if I remove all functions and named > templates this same stylesheet is compiled and executed fine using > Saxon again!!?? > > If necessary I can add some more code. > > --Marc
-- --Marc
MG
Marc van Grootel23 Nov 2014 22:58 #
Stop the press ..... No, really. I probably have to stop now. I was switching BaseX versions and used a version where I didn't add Saxon yet. The HTMl stylesheet I used didn't use any XSLT 2 features. Face palm. Sorry for wasting your time .... Can I get Google to forget this ;-) --Marc
CG
Christian Grün23 Nov 2014 23:02 #
Quoted text · Marc van Grootel · 1 line
> Can I get Google to forget this ;-)
Never ever, sorry…

⚡Generated with XQuery