Ok, I am a sort of XSLT newbie, so please bear with me. I am attempting to parse with 1.0, 1.1 XSLT in Saxon 9.x i.e.2.0.
My initial thought is that version 1.0 XSLT should be inherently compatible with a version 2.0 parser but a series of small tests proves otherwise.
Using Oxygen V12, I ran tests using Saxon 6.x and this worked as expected. The Saxon 6.x parser traversed all siblings and children nodes. Switching the parser to Saxon 9.x appears to only parse the top level. In this the case ‘Document/Topic’ template. It does not traverse using any other siblings or child level templates.
By putting an ‘<xsl:apply-templates/>’ at the end of the ‘Document/Topic’ template, I can force the Saxon 9.x parser to find the next child i.e. ‘Document/Topic/Topic’ template. But then it stops again. Lastly, if I put another ‘<xsl:apply-templates/>’ at the end of the ‘Document/Topic/Topic’ template, I get a Saxon error message of “…\XSL\chunker.xsl Engine name: Saxon-PE 22.214.171.124 Severity: fatal Description: Cannot switch to a final result destination while writing a temporary tree”.
So as you might imagine this leads me to think that there is a difference in the way the error/validation/parser checking is done between version 1.x and 2.x parsers. Yes I have read various similar threads be to no avail.
As there are many lines of XSLT code, are there any specific lines that I can need to look out for to help me fix this?
Thanks in anticipation,