call
语法
call template-name (parameter-name = value) {
/* code */
}
描述
调用命名模板。您可以通过包含一个逗号分隔参数列表(带有参数名称和可选的等号 (=) 和值表达式来将参数传递到模板。如果未指定值,则参数的当前值将传递到模板。
您可以使用语句在代码块 with 内声明其他参数。
属性
template-name |
指定要调用的模板的名称。 |
SLAX 示例
match configuration {
var $name-servers = name-servers/name;
call temp();
call temp($name-servers, $size = count($name-servers));
call temp() {
with $name-servers;
with $size = count($name-servers);
}
template temp($name-servers, $size = 0) {
<output> "template called with size " _ $size;
}
}
XSLT 等效项
<xsl:template match="configuration">
<xsl:variable name="name-servers" select="name-servers/name"/>
<xsl:call-template name="temp"/>
<xsl:call-template name="temp">
<xsl:with-param name="name-servers" select="$name-servers"/>
<xsl:with-param name="size" select="count($name-servers)"/>
</xsl:call-template>
<xsl:call-template name="temp">
<xsl:with-param name="name-servers" select="$name-servers"/>
<xsl:with-param name="size" select="count($name-servers)"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="temp">
<xsl:param name="name-servers"/>
<xsl:param name="size" select="0"/>
<output>
<xsl:value-of select="concat('template called with size ', $size)"/>
</output>
</xsl:template>
使用示例
版本信息
在 SLAX 语言 1.0 版中引入的语句。