This attribute may be set on any instruction in the stylesheet, including a literal result element, though the
recommended use is to set it on an xsl:template or xsl:function declaration. The permitted values are
no. If the value is
yes, then at compile time Saxon outputs (to
the standard error output) a representation of the optimized expression tree for the
template or function containing that instruction. The tree is represented by indentation.
For example, consider this source code:
This produces the output:Optimized expression tree for template at line 8 in file:/e:/temp/test.xsl: <directElement name="a" validation="skip"> <valueOf> <literal value="12" type="xs:string"/> </valueOf> </directElement>
This indicates that the template has been reduced to an instruction to create an element
a, whose content is a single text node holding the string "12". This
is because Saxon has established at compile time that it will always take the "otherwise"
branch of the
xsl:choose instruction. There is no
instruction in the source code, but the literal text node "12" is compiled to the same code
as if the user had written
To get this output for all templates and functions in the stylesheet, you can use the
-explain option on the command line.