gpt4 book ai didi

xslt - 理解 `apply-templates`匹配

转载 作者:行者123 更新时间:2023-12-04 17:28:39 24 4
gpt4 key购买 nike

我认为 apply-templates 是否正确?声明应匹配 全部 可能应用于选择的模板?

例如,给定以下 xml 片段:

<doc>
<foo bar="1" baz="2">boz</foo>
</doc>

以及以下样式表:
<xsl:template match="/">
<xsl:apply-templates select="foo" mode="xyz" />
</xsl:template>

<xsl:template mode="xyz" match="foo[bar='1']">
abc
</xsl:template>

<xsl:template mode="xyz" match="foo[baz='2']">
def
</xsl:template>

我希望输出是:
abc
def

这样对吗?

最佳答案

不,您不会同时获得两个输出,因为只会选择一个模板。
this page如果有多个可能的模板,则用于解决冲突的规则。

修复样式表后(与 Rubens 的做法类似,但使用相同的模式),这通常会导致应用 xslt 文件中的最后一个模板,因此输出将为 def .这是因为这两个模板具有相同的优先级,如果您的 xslt 处理器没有因错误而停止,则标准要求它应用最后一个:

It is an error if this leaves more than one matching template rule. An XSLT processor may signal the error; if it does not signal the error, it must recover by choosing, from amongst the matching template rules that are left, the one that occurs last in the stylesheet.

关于xslt - 理解 `apply-templates`匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138774/

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