RE: [xsl] evaluate() error variable has not been declared??

Subject: RE: [xsl] evaluate() error variable has not been declared??
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 10 May 2004 22:02:29 +0100
> I had expected saxon:evaluate() to be simple but it has me stumped.

You need to keep a clear head about what's going on.

> <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()')"/>

At stylesheet execution time you need to construct an XPath expression in
which the value of your $test variable has been substituted. This expression
isn't going to be constructed by magic. You need

saxon:evaluate(concat('/test/', $test, '/text()'))

Michael Kay

Current Thread