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.