2010-07-30 93 views
0

是否可以確定節點是否包含在XSLT中的另一個節點中(或等於)?例如,請考慮以下代碼片段:確定節點是否包含在XSLT中的另一個節點中

<xsl:variable name="itemSection" select=".."/> 
<xsl:for-each select="key('enemyItems', @key)"> 
    <xsl:variable name="enemyList" select="./attributes/@value"/> 
    <xsl:variable name="enemyListSection" select="../../.."/> 
         . 
         . 
         . 
</xsl:for-each> 

是否可以告訴itemSection是否包含在(或等於)enemyListSection?

+0

檢查Dimitre正確答案。我錯過了「(或等於)」部分。 – 2010-07-30 17:56:43

回答

2

在XPath 1.0

$itemSection[ancestor::*[generate-id()=generate-id($enemyListSection)]] 

在XPath 2.0

$itemSection[ancestor::*[. is $enemyListSection]] 
+0

請參閱我對答案的正確性所做的小貢獻。 :) – 2010-07-30 17:44:35

1

只是一個小調整,亞歷杭德羅的回答

在XPath 1.0

$itemSection[ancestor-or-self::*[generate-id()=generate-id($enemyListSection)]] 

在XPath 2.0

$itemSection[ancestor-or-self::*[. is $enemyListSection]] 

因爲原來的問題問:

是否可以告訴 itemSection是否包含在(或 等於)enemyListSection?

+0

我錯過了重要的「(或等於)」。你的答案是正確的。 – 2010-07-30 17:55:11

相關問題