gpt4 book ai didi

xslt - XPath表达式以选择不是某个特定元素的所有子元素

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

鉴于XML

<blockquote>
<attribution>foo</attribution>
<para>bar</para>
</blockquote>


我有XSL模板

<xsl:template match="dbk:blockquote">
<blockquote>
<xsl:apply-templates select="*[not(dbk:attribution)]" />
<xsl:apply-templates select="dbk:attribution" />
</blockquote>
</xsl:template>


其中第一个 apply-templates应选择 dbk:blockquote类型不是 dbk:attribution的所有子元素。 (这是将属性移到最底端的必要步骤。)

但是,实际上它匹配每个节点。为什么?

最佳答案

您要使用self轴:

<xsl:apply-templates select="*[not(self::dbk:attribution)]" />


这将选择本身不是 dbk:attribution元素的子元素。您的版本选择的子元素不包含 dbk:attribution子元素。

关于xslt - XPath表达式以选择不是某个特定元素的所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722037/

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