RE: [xsl] variable as select for template

Subject: RE: [xsl] variable as select for template
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Wed, 19 Sep 2001 15:35:01 +0100
> I'd like to use
> xsl:variable in xsl:apply-templates select="" statement.
>
> eg
> create variable with node()
>
> <xsl:variable name="var1">
>   <xsl:value-of select="select some node here"/>
> </xsl:variable>
>
> use it in
> <xsl:apply-templates mode="some_template" select ="$var1"/>
>

Your variable is a result tree fragment containing a single text node, this
being the text value extracted from the first node in the node-set selected
by the <xsl:value-of> instruction.

The select attribute of <xsl:apply-templates/> must be a node-set, you can't
use a result tree fragment here.

I suspect what you really want to do is:

<xsl:variable name="var1" select="some nodes"/>
<xsl:apply-templates select="$var1"/>

This way, $var1 will refer directly to the set of nodes selected in the
<xsl:variable> instruction.

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread