我的 xslt 1.0 模板中有两个变量,每个变量都包含一个节点集(使用 xpath 选择)。我想确定一个变量中的节点集是否包含在另一个变量中的节点集中。例如,假设我有一个包含嵌套部分的章节。我想看看是否$b
包含在$a
:
<xsl:variable name="a" select="chapter//section" />
<xsl:variable name="b" select="chapter//section" />
我试图获得节点集的交集,看看是否$a
是两者共享的第一个公共元素$a
,$b
但这不起作用:
<xsl:if test="$a/ancestor-or-self::*[count(.|$b) = count($b/ancestor::*)][1] = $a">
添加一些上下文。我正在使用此 xslt 为 html 页面树创建一个选项卡式界面,我要解决的问题是将 class="current" 放在正确的选项卡上。通过测试每个部分以查看它是否是选项卡部分的子部分,它会获得 class="current",因此选项卡将被设置为看起来好像它在顶部。