У меня есть этот XML-файл
<all>
<general>
<catagory_name>
<catg>Action</catg_1>
<catg>Other</catg_2>
</catagory_name>
</general>
<games>
<catagory name='Action'>
<game>
<name>1945<!--name--></name>
<url><!--URL to game download--></url>
<image><!--image location--></image>
<alt>1945 Icon<!--alt text for image--></alt>
</game>
</catagory>
<catagory name='Other'>
<game>
<name>Platform Game<!--name--></name>
<url><!--URL to game download--></url>
<image><!--image location--></image>
<alt>Platform Game Icon<!--alt text for image--></alt>
</game>
</catagory>
</games>
</all>
На данный момент моя выписка из моего xslt гласит:
<xsl:for-each select="all/general/catagory_name">
<xsl:variable name="catg"><xsl:value-of select="catg"/></xsl:variable>
<xsl:if test="//all/games/catagory[@name=$catg]/game[position() = (1<!--I use nth term here but this is not relevant to my question so just pretend value = 1-->)]/url">
<!--action-->
</xsl:if>
</xsl:for-each>
Я хочу знать, как заменить [@ name = $ catg] значением // all / general / catagory_name / catg_1, но не могу понять, как это сделать.