0

是否可以判断一个节点是否包含在(或等于)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 中?

4

2 回答 2

2

在 XPath 1.0 中

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

在 XPath 2.0 中

$itemSection[ancestor::*[. is $enemyListSection]]
于 2010-07-30T16:14:20.753 回答
1

对亚历杭德罗的回答稍作调整

在 XPath 1.0 中

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

在 XPath 2.0 中

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

因为最初的问题是:

是否可以判断 itemSection 是否包含在(或等于)enemyListSection 中?

于 2010-07-30T17:41:56.090 回答