确定一个节点是否包含在XSLT中的另一个节点中

确定一个节点是否包含在XSLT中的另一个节点中,xslt,containment,Xslt,Containment,在XSLT中是否可以判断一个节点是否包含在(或等于)另一个节点中?例如,考虑这个代码片段: <xsl:variable name="itemSection" select=".."/> <xsl:for-each select="key('enemyItems', @key)"> <xsl:variable name="enemyList" select="./attributes/@value"/> <xsl:variable name

在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是否包含在(或等于)XPath 1.0中的enemyListSection中?

$itemSection[ancestor::*[generate-id()=generate-id($enemyListSection)]]
在XPath2.0中

$itemSection[ancestor::*[. is $enemyListSection]]
在XPath1.0中

$itemSection[ancestor::*[generate-id()=generate-id($enemyListSection)]]
在XPath2.0中

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

只是对亚历杭德罗回答的一点小小调整

XPath 1.0中的

$itemSection[ancestor-or-self::*[generate-id()=generate-id($enemyListSection)]] 
$itemSection[ancestor-or-self::*[. is $enemyListSection]]
XPath 2.0中的

$itemSection[ancestor-or-self::*[generate-id()=generate-id($enemyListSection)]] 
$itemSection[ancestor-or-self::*[. is $enemyListSection]]
因为原来的问题是:

有没有可能知道 itemSection包含在(或 等于)enemyListSection


只是对亚历杭德罗回答的一点小小调整

XPath 1.0中的

$itemSection[ancestor-or-self::*[generate-id()=generate-id($enemyListSection)]] 
$itemSection[ancestor-or-self::*[. is $enemyListSection]]
XPath 2.0中的

$itemSection[ancestor-or-self::*[generate-id()=generate-id($enemyListSection)]] 
$itemSection[ancestor-or-self::*[. is $enemyListSection]]
因为原来的问题是:

有没有可能知道 itemSection包含在(或 等于)enemyListSection


请看我对你答案的正确性所做的小小贡献。:)请看我对你答案的正确性所做的小小贡献。:)我错过了重要的“(或等于)”。你的答案是正确的。我错过了重要的“(或等于)”。你的答案是正确的。检查Dimitre的正确答案。我错过了“(或等于)”部分。请检查Dimitre的正确答案。我错过了“(或等于)”部分。