template
Syntaxe
template qualified-name (parameter-name = value) {
/* code */
}
Description
Déclarez un modèle nommé. Vous pouvez inclure une liste de déclarations de paramètres séparées par des virgules, avec le nom du paramètre et une expression optionnelle de signe égal (=) et de valeur. Vous pouvez déclarer des paramètres supplémentaires dans le bloc de code à l’aide de l’instruction param . Vous pouvez appeler le modèle à l’aide de l’instruction call .
Exemple 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;
}
}
Équivalent 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>
Exemples d’utilisation
Voir exemple : Ajout d’un terme final puis acceptation à un pare-feu et Exemple : ajout d’interfaces T1 à un groupe RIP.
Informations de publication
Déclaration introduite dans la version 1.0 du langage SLAX.