RE: [xsl] Linking Variable to the Path

Subject: RE: [xsl] Linking Variable to the Path
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 22 Aug 2007 22:58:42 +0100
The basic answer is that standard XSLT does not allow you to construct an
XPath expression dynamically from a string. It's a common requirement and
several processors provide extensions (saxon:evaluate, dyn:evaluate) that
handle it - but some do not.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Yaswanth Kumar Ravella [mailto:yaswanth.mtrx@xxxxxxxxx] 
> Sent: 22 August 2007 09:16
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Linking Variable to the Path 
> 
> 
> Hi,
> 
> ::I am having an XML file like this ::
> 
> <root>
>  <every>
>    <event name="Ready"/>
>  </every>
>  <pattern>
>    <connection destination="//every[1]/event[1]" />		
>  </pattern>
> </root>
> -------------------------------
> ::When my XSL file has this code::
> 
> <xsl:template match="root">   
>    <xsl:variable name="dest" 	select="//every[1]/event[1]"/>   
>    <xsl:value-of select="$dest/@name"/>   
> </xsl:template>
> 
> It prints 'Ready'.
> Here I am directly assigning variable 'dest' to the path of the event.
> This is ok.
> -------------------------------
> ::When I changed my XSL code to ::
> 
> <xsl:template match="root">   
>    <xsl:variable name="dest"
> select="//pattern[1]/connection[1]/@destination"/>   
>    <xsl:value-of select="$dest/@name"/>   
> </xsl:template>
> 
> It doesn't print 'Ready' or anything.
> Here I am storing variable 'dest' with the value of the 
> 'connection/@destination', Which I expected to work properly 
> but it is not working.
> ------------------------------
> 
> How can I print 'event-name' using 'connection-destination'?
> 
> 
> Regards
> Yaswanth Ravella

Current Thread