Re: [xsl] Using the value of the current attribute in select

Subject: Re: [xsl] Using the value of the current attribute in select
From: Brandon Ibach <brandon.ibach@xxxxxxxxxxxxxxxxxxx>
Date: Sun, 3 Apr 2011 19:25:08 -0400
There are (at least) two ways to do this.  First, you can save the
attribute value to a variable:

<xsl:variable name="colname" select="@name"/>
<xsl:variable name="fkey"
select="following-sibling::foreign-key[child::reference/@local=$colname]"/>

Alternatively, you could use XSLT's "current" function, which always
returns the node being processed by the current template:

<xsl:variable name="fkey"
select="following-sibling::foreign-key[child::reference/@local=current()/@nam
e]"/>

-Brandon :)


On Sun, Apr 3, 2011 at 7:18 PM, Mansour Al Akeel
<mansour.alakeel@xxxxxxxxx> wrote:
> I am trying to get a copy-of an element by the value of one of it's
> decendants. The issue is that I need to match it with a value of the a
> current attribute:
>
>
>
following-sibling::foreign-key[child::reference/@local="the_value_of_the_curr
ent_attribute"]
>
> Here's an example of the xml I am trying to process.
>
> <table>
>    <column name="parent_id" />
>    <foreign-key>
>        <reference local="parent_id" />
>    </foreign-key>
> </table>
>
>
> I want to use the @name of the column in the xpath expression.

Current Thread