SUR CETTE PAGE
function
Syntaxe
function function-name (argument-list) { ... result return-value; }
function function-name () { param param-name1; param param-name2; param param-name3 = default-value; ... result return-value; }
Description
Définissez une fonction d’extension pouvant être utilisée dans les expressions XPath. L’instruction function
doit être définie comme une déclaration de niveau supérieur dans le script à l’aide d’un nom qualifié pour l’identifiant de la fonction. La liste d’arguments est une liste de noms de paramètres séparés par des virgules, qui sont assignés par position en fonction de l’appel de fonction. Les arguments de suivi peuvent avoir des valeurs par défaut. Vous pouvez également définir des paramètres de fonction à l’intérieur du bloc de fonctions à l’aide de l’instruction param
. Le corps de la fonction est un ensemble d’instructions, qui doivent inclure une result
déclaration qui définit la valeur de retour pour la fonction.
S’il y a moins d’arguments dans l’invocation de la fonction que dans la définition, les valeurs par défaut sont utilisées pour les arguments de suivi. S’il y a plus d’arguments dans l’invocation de la fonction que dans la définition, l’appel de la fonction génère une erreur.
Attributs
function-name |
Spécifie le nom de la fonction en tant que nom qualifié. |
argument-list |
Liste de noms de paramètres séparés par des virgules, assignés par position en fonction de l’appel de fonction. Les arguments de suivi peuvent avoir des valeurs par défaut. |
return-value |
Élément XML ou expression XPath, valeur scalaire ou ensemble d’instructions fournissant la valeur de retour de la fonction. |
Exemple SLAX
L’exemple suivant définit la fonction size
, qui a trois paramètres : width
, height
et scale
. La valeur par défaut est scale
1. Si la liste d’arguments d’appel de fonction n’inclut pas l’argument scale
, le calcul utilise la valeur par défaut 1 pour cet argument. La valeur de retour de la fonction est le produit du width
, height
et scale
des variables jointes dans un <size>
élément.
Dans le modèle de correspondance principal, l’appel de fonction utilise des données de largeur et de hauteur sélectionnées à partir de chaque graphic/dimension
élément du fichier XML source. Le script évalue la fonction, et l’instruction copy-of
émet la valeur de retour dans l’arbre des résultats en tant que contenu de l’élément <out>
.
version 1.1; ns my = "http://www.example.com/myfunctions"; function my:size ($width, $height, $scale = 1) { result <size> { expr $width * $height * $scale; } } match / { for-each (graphic/dimension) { <out> { copy-of my:size((width/.), (height/.)); } } }
Informations de publication
Déclaration introduite dans la version 1.1 du langage SLAX, qui est prise en charge dans les versions 12.2 et ultérieures de Junos OS.