是 - 它被称为xsl:call-template。
任何模板都可以被命名。该名称可以通过名称空间进行限定。例如...
<xsl:template match="some match condition" name="call-me">
bla bla bla (template content)
</xsl:template>
如果模板都有一个名字,它甚至可以省略匹配条件是这样的...
<xsl:template name="call-me">
<xsl:param name="phone-number" />
bla bla bla (template content)
</xsl:template>
命名的模板有许多参数,只要你喜欢。以上片段是声明一个名为phone-number的参数的示例。在模板的顺序构造,你会参考这个参数,以同样的方式作为一个变量,像这样......
$phone-number
要调用一个命名模板,使用XSL:从序列中调用模板构造函数。例如...
<xsl:call-template name="call-me">
<xsl:with-param name="phone-number" select="'55512345678'" />
</xsl:template>
请注意,xsl:with-param
用于传递实际参数值。
请注意,在XSLT 2.0中,您还可以定义可从XPATH表达式中调用的函数。在某些情况下,函数可能是命名模板的更好选择。
参见:
- XSLT 2.0 spec re.: named templates。
- XSLT 1.0 spec re.: named templates。
http://www.webmasterworld.com/xml/3295698.htm。在页面的一半处查看。 – 2012-08-13 21:46:26