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.
|