<newbie/>
I had expected saxon:evaluate() to be simple but it has me stumped.
Why does the following test give error suggesting "Variable $test has not
been declared", when it obviously has?
<?xml version="1.0" encoding="utf-8"?>
<test>
<input>result</input>
<result>expected output!</result>
</test>
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0" xmlns:saxon="http://saxon.sf.net/"
extension-element-prefixes="saxon">
<xsl:output method="xml" indent="no" encoding="utf-8"/>
<xsl:template match="/">
<xsl:variable name="test" select="/test/input/text()"/>
<xsl:value-of select="$test"/>
<xsl:if test="$test != ''">
<xsl:variable name="output"
select="saxon:evaluate('/test/$test/text()')"/>
<xsl:value-of select="$output"/>
<trace/>
</xsl:if>
</xsl:template>
<xsl:template match="text()|@*"/>
</xsl:transform>
Without the <if>, $test has been defined and is output ok.
Regards
davidpbrown