2015-10-18 40 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"/> 
[...] 

應該爲你帶來至少一步。