繁体   English   中英

XSLT 1.0 多个模板匹配块

[英]XSLT 1.0 Multiple template match blocks

在一些 xslt 文件中,我看到了多个模板匹配块。 是否有一个原因?

<xsl:template match="/">
    <xsl:apply-templates select="/ns0:MyRoot" />
</xsl:template>

<xsl:template match="/ns0:MyRoot">
.. // do stuff
</xsl:template>

更新:删除了第二个问题

在您的示例中,没有充分的理由拥有第一个模板,因为它不会做任何内置模板无论如何都不会做的事情:

<xsl:template match="*|/">
  <xsl:apply-templates/>
</xsl:template>

(除非目的是防止处理根元素不是ns0:MyRoot的 XML 文档)。

但是,由于XSLT 处理的工作方式,通常有很好的理由拥有多个模板。 在许多情况下,将模板应用于多个节点很方便,让处理器为每个节点找到最佳匹配的模板。 这允许您封装用于处理每种类型节点的代码并避免复杂的条件语句。

OTOH,需要说的是,经常无缘无故地过度使用多个模板,导致GOTO 综合症


[英]Multiple <xsl:template match in .xslt file in mule

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM