Subject: RE: 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: 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
|