5
如何在XSLT中的兩個模板之間傳遞變量。如何在XSLT中的兩個模板之間傳遞變量
我不能使用全局變量,因爲變量的值取決於當前正在評估的節點。
說我有幾分XSLT:
<xsl:template match="product">
<xsl:variable name="pr-pos" select="count(./preceding-sibling::product)+1"/>
..
..
..
<xsl:apply-templates select="countries/country"/>
</xsl:template>
<xsl:template match="countries/country">
<tr id="country-id">
<td><a href="#" class="action" id="{concat('a-',$pr-pos)}">+</a></td>
..
..
這給了錯誤的$ PR-pos是不是第二個模板訪問。
如何將變量pr-pos的值傳遞給其他模板?我怎樣才能做到這一點?
在你的情況下,你並不需要傳遞一個變量。您希望通過的'$ pr-pos'的值可以從'country'模板中辨別。 – Utkanos
所有編程語言(大多數)都有一種方法將信息傳遞給另一個執行單元,並學習如何做到這一點是基本原則之一。這個問題大致相當於問如何在JavaScript中的兩個函數之間傳遞變量,或者說「我試過'函數a(){var i = 5; b();} function b(){alert(i); }'但是'i'在第二個函數中不可訪問。「 – 2012-07-01 08:23:00
@torazaburo:我找不到一個有用的東西,它告訴我如何在google上做到這一點。我不知道這就是爲什麼問,如果你有問題的人問你爲什麼不在StackOverflow上禁用你的帳戶。搜索谷歌,並告訴我你找到除了W3文檔以外的任何好文檔。 – Harshdeep