xslt模板可以同时携带名称和匹配属性吗?

时间:2011-06-25 13:54:59

标签: xslt

以下(a)是否允许(b)有用

<xsl:template match="foo" name="bar"> 
</xsl:template>

(这意味着可以通过递归模板处理或直接从<xsl:call-template name="bar"/>

触发模板

2 个答案:

答案 0 :(得分:16)

简单地说,是的。我经常命名身份模板并使用<xsl:call-template name="identity" />直接调用它。

它是一种有用的继承形式的工具;您可以定义一个模板以匹配一个节点,另一个模块可以处理该节点的衍生物,然后调用更通用的模板。

例如:

<xsl:template match="animal" name="animal">
  <!-- handle any animal related stuff here -->
</xsl:template>

<xsl:template match="dog">
  <xsl:call-template name="animal" />
  <!-- handle any dog specific stuff here -->
</xsl:template>

答案 1 :(得分:0)

如果xsl:template元素具有name属性,则它可能(但不一定)也具有match属性。 来自W3C XSLT specification