2015-10-18 114 views
0

我想根据唯一的ID在XML文档的另一部分中选择一个元素。XSLT使用一个变量内的选择值来选择一个元素

我试过这样做,但它似乎没有工作。

      <div class="acteurs"> 
          <xsl:for-each select="cast/personage"> 
           <xsl:variable name="idref" select="@id"/> 
           <xsl:value-of select="imdb/personen/persoon[@id='$idref']/naam"/> 
          <br/> 
          </xsl:for-each> 
          </div> 

难道是因为$ idref是字面解释而不是引用变量,还是我的方法是整体错误?

+0

我会建议使用[key](http://www.w3.org/TR/xslt/#key)。发布一个完整的例子,如果你想了解更多细节。 –

回答

1

您需要从'$idref'中删除单引号,否则将其视为字符串文字。

所以

[...] 
<xsl:value-of select="imdb/personen/persoon[@id=$idref]/naam"/> 
[...] 

应该为你带来至少一步。