gpt4 book ai didi

xslt - 如何匹配在另一个序列中具有所有节点的节点

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

我们正在使用 XSLT2。想知道这是否可能。

我们有一个标签过滤器,客户可以在其中选择查看与他们的选择ALL匹配的所有主题。

这是 XML 结构的概念:

<themes>
<theme>
<name>Apple</name>
<tags>
<tag id="1">
<tag id="2">
</tags>
</theme>
<theme>
<name>Banana</name>
<tags>
<tag id="2">
<tag id="3">
</tags>
</theme>
<theme>
<name>Kiwifruit</name>
<tags>
<tag id="2">
<tag id="3">
</tags>
</theme>
</themes>

客户选择标签 2 和 3。我们想要的结果是只显示 Banana 和 Kiwifruit,因为它们具有用户选择的所有标签。

我们不能使用 AND 运算符,因为标签列表很长且未知。我们目前已将此列表传递到 XSLT,然后进行标记化:

<xsl:param name="tag_ids"/>   
<xsl:variable name="tag_id_list" select="tokenize($tag_ids,',')"/>

此语句选择具有任何 tag_id_list 的任何主题:

<xsl:for-each select="themes/theme/tags/tag[@id=$tag_id_list]">

但我们正试图找到一个 XPath 语句来确保 $tag_id_list 中的所有 s

有什么想法吗?!提前致谢。

最佳答案

如果标签必须按正确的顺序排列,则需要这样:

themes/theme/tags[deep-equal($tag_id_list, tag/@id)]

或者这个,如果它们可以按任何顺序排列:

themes/theme/tags[
(every $tag in $tag_id_list satisfies $tag = tag/@id)
and
(every $tag in tag/@id satisfies $tag = $tag_id_list)]

关于xslt - 如何匹配在另一个序列中具有所有节点的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691423/

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