Hello --
Somewhat to my surprise I've got the large XSLT 3.0 transform to load, or at least not complain about includes. (Load the input as a db; load the stylesheet from the file system. Be extra-careful about constructing URIs.) Which raises the prospect that I'll actually be able to run this transform from BaseX, but I cannot figure out how to set a value for the initial template.
This query:
let $source := <dummy></dummy>
let $template := <xsl:stylesheet version="3.0" xmlns:xsl=' http://www.w3.org/1999/XSL/Transform%27%3E <xsl:template name="xsl:initial-template"> <thingy>Hello, World!</thingy> </xsl:template>
<xsl:template match="/"> <fail>matched on root</fail> </xsl:template> </xsl:stylesheet>
return xslt:transform($source,$template,map{'initial-template': '{ http://www.w3.org/1999/XSL/Transform%7Dinitial-template%27%7D)
returns <fail>matched on root</fail>
Which isn't surprising; setting initial-template is a Saxon option, not a parameter.
If I try return xslt:transform($source,$template,map{},map{'initial-template': '{ http://www.w3.org/1999/XSL/Transform%7Dinitial-template%27%7D)
I get [XPTY0004] Unknown option 'initial-template'. (same with 'it'.)
Is there a way to set Saxon options with xslt:transform?
Thanks! Graydon