Le langage de génération par template prend en charge des opérateurs arithmétiques et logiques standard ainsi que certains opérateurs de template avancés.
Les opérateurs arithmétiques et logiques suivants sont pris en charge, dans lesquels x et y peuvent être des nombres ou des templates dont la résolution produit des nombres :
Opérateur |
Description |
---|---|
= | Opérateur d'affectation. |
== et != | Opérateurs égal à et différent de. |
> et < | Opérateurs supérieur à et inférieur à. |
>= et <= | Opérateurs supérieur ou égal à et inférieur ou égal à. |
&& et || | Opérateurs logiques AND et OR. |
%+(x,y)% |
Opérateur d'addition. |
%-(x,y)% |
Opérateur de soustraction. |
%*(x,y)% |
Opérateur de multiplication. |
%/(x,y)% |
Opérateur de division. |
%&(x,y)% |
Opérateur logique and |
Dans cet exemple, le template contenu dans la colonne de gauche produit le résultat affiché dans la colonne de droite :
Template | Résultat |
---|---|
Base number= %Number% Number+1= %+(Number,1)% Number-1= %-(Number,1)% Number*2= %*(Number,2)% Number/2= %/(Number,2)% Number&1= %&(Number,1)% |
Base number= 4 Number+1= 5 Number-1= 3 Number*2= 8 Number/2= 2 Number&1= 0 |
Les opérateurs de template avancés suivants sont également pris en charge :
Opérateur |
Description |
---|---|
* |
Opérateur de déréférencement - Correspond à une
double évaluation, qui renvoie un template au lieu d'un texte,
en utilisant la syntaxe suivante :
%*template [(P1,P2...)]%Pour plus d'informations sur les paramètres des templates, voir Passage de paramètres à un template. Dans l'exemple suivant, une variable locale est
renvoyée normalement et sous une forme déréférencée
:
.set_value(C, Code) %C% %*C%Résultat : Code %Code% |
! |
Opérateur d'évaluation - Evalue le résultat de l'évaluation de la variable comme un template. Dans l'exemple suivant, une variable locale est
renvoyée normalement et sous une forme évaluée
:
.set_value(C, %%MyAttribute%%) %C% %!C%Résultat : %MyAttribute% Red L'opérateur ! peut être utilisé plusieurs fois. Par exemple : %!!t% Vous obtenez ainsi les résultats de l'évaluation de l'évaluation du template t. |
? |
Opérateur d'existence - Teste si un template, une variable locale ou une propriété est ou non présent, et renvoie false si tel n'est pas le cas. Par exemple : .set_value (myVariable, 20, new) %myVariable?% .unset (myVariable) %myVariable?% Résultat : true false |
+ |
Opérateur de visibilité - Teste si une propriété d'objet est visible dans l'interface, et renvoie false si telle n'est pas le cas. Par exemple, vous pouvez tester si la zone
Type est affichée
dans l'onglet Général de
la feuille de propriétés d'une base de données dans le Modèle de
Fluidité de l'Information (ce qui indique si un fichier
d'extension Replication Server® est attaché au modèle), saisissez
la syntaxe suivante :
%Database.Type+% |