gpt4 book ai didi

xslt测试以查看节点是否是其父节点的前X个子节点之一

转载 作者:行者123 更新时间:2023-12-03 15:25:11 25 4
gpt4 key购买 nike

我正在编辑XSLT模板,我的技能有些生锈。

我想写一个条件来查看当前节点是否在其父节点的前三个子节点中。

<parent>
<child>
<child>
<child>
<child>
</parent>

因此,上面的前三个子元素将返回true,但是第四个子元素将返回false,使事情复杂化的是,这些子元素将不完全相同,并且将具有自己的后代。我确信有一些简单的xpath可以做到。

最佳答案

这取决于实际情况。如果您在

<xsl:apply-templates select="/parent/child" />

然后用
<xsl:if test="position() &lt; 4">

会做。如果您处在其他上下文中,而不影响所有 <child>元素,那么 position()将引用该上下文中的位置。

如果要进行无上下文检查,则可以使用:
<xsl:if test="count(preceding-sibling::child) &lt; 3">
<!-- or -->
<xsl:if test="count(preceding-sibling::*) &lt; 3">

要仅选择前三个 <child>元素,就是这样:
/parent/child[position() &lt; 4]

关于xslt测试以查看节点是否是其父节点的前X个子节点之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com