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 版中引入的语句。