[xsl] referencing nodes via variables

Subject: [xsl] referencing nodes via variables
From: "Sam Carleton" <scarleton@xxxxxxxxxxxxxxxx>
Date: Wed, 30 Aug 2006 09:15:51 -0400
The way things are currently coded, it works.  I am wondering if there
is a better way.

Given this xml:

<root>
 <methods>
   <method id="m1" version="2">
     <name>Method 1</name>
   </method>
   <method id="m1" version="4">
     <name>Method 1</name>
   </method>
 </methods>
 <schedule>
   <lines>
     <line methodID="m1" methodVer="2">
       <moreData>yada-yada-yada</moreData>
     </line>
   </lines>
 </schedule>
</root>

When processing the line element, I need to get to the name of the
method.  What I am currently doing is:

<xsl:template match="line">
 <xsl:variable  name="methodID" select="@methodID"/>
 <xsl:variable  name="methodVer" select="@methodVer"/>
 <xsl:variable  name="method"
select="/root/methods/method[@id=$methodOID and
@version=$methodVer]"/>

</xsl:template>

Is there a more elegent way in XSLT 1.0?

Sam

Current Thread