RE: [xsl] combining two variables to generate XPATH

Subject: RE: [xsl] combining two variables to generate XPATH
From: "bix xslt" <bix_xslt@xxxxxxxxxxx>
Date: Tue, 17 Dec 2002 20:08:20 +0000
Is that FAQ outdated?? I know that the following code works just fine:

<xsl:template match="proc">
 <xsl:call-template name="foo">
   <xsl:with-param name="node" select="." />
 </xsl:call-template>
</xsl:template>

<xsl:template name="foo">
 <xsl:param name="node"/>
 <xsl:for-each select="$node/branch/leaf">
   <xsl:value-of select="@id" />
 </xsl:for-each>
</xsl:template>

What is different about a path with a single variable, and a path with two variables? Why can't I specify a second variable:

<xsl:template name="foo">
 <xsl:param name="node"/>
 <xsl:param name="branch" select="'someBranch'"/>
 <xsl:for-each select="$node/$branch/leaf">
   <xsl:value-of select="@id" />
 </xsl:for-each>
</xsl:template>



From: Mark Wilgus <mwilgus@xxxxxxxxx>

I believe this is not possible.  XSLT doesn't allow you
to use a variable for an XPath expression.  See number 2 at
the following list:

http://www.dpawson.co.uk/xsl/sect2/nono.html

> -----Original Message-----
> From: bix xslt [mailto:bix_xslt@xxxxxxxxxxx]

> >        <xsl:variable name="branch"
> >select="concat($node,'/',$type,'/item')" />
> >        <xsl:value-of select="$branch" />
> ><!--        <xsl:for-each select="$branch">
>



_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963



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



Current Thread