Algorithmes de branchement
Les algorithmes de branchement fournis sont les suivants :
Algorithme
Description
wt.rule.algorithm.BooleanBranch
Prend une liste de trois objets. Le premier objet d'une balise Value doit être un objet qui renvoie une valeur booléenne indiquant à l'algorithme BooleanBranch lequel des deux autres objets renvoyer, chacun étant contenu dans un argument.
wt.rule.algorithm.CaseBranch
Similaire à BooleanBranch, si ce n'est que le branchement se produit lorsque le cas est TRUE. Il existe un argument pour chaque cas, plus un autre qui identifie la valeur par défaut si aucun cas n'est TRUE.
La syntaxe générale des algorithmes BooleanBranch est la suivante :
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="xxx">
:
</Value>
<Arg>yyy</Arg>
<Arg>zzz</Arg>
</Value>
L'algorithme nommé dans la balise Value imbriquée (identifiée par xxx dans le format) peut être n'importe quel algorithme valide renvoyant une valeur booléenne. Un des objets déclarés dans les arguments (identifiés par les balises Arg et les chaînes yyy et zzz) est utilisé selon le résultat de l'algorithme xxx.
La syntaxe générale de l'algorithme CaseBranch ayant trois cas est la suivante :
<Value algorithm="wt.rule.algorithm.CaseBranch">
<Value algorithm="xxx1">
:
</Value>
<Arg>yyy1</Arg>
<Value algorithm="xxx2">
:
</Value>
<Arg>yyy2</Arg>
<Value algorithm="xxx3">
:
</Value>
<Arg>yyy3</Arg>
<Arg>yyy4</Arg>
</Value>
Un algorithme CaseBranch peut avoir n'importe quel nombre de cas. Chaque cas de l'algorithme CaseBranch est constitué d'un élément Value pouvant être évalué comme TRUE ou FALSE et d'un argument qui suit directement l'élément Value. Si l'élément Value est TRUE, l'argument est utilisé et les balises restantes de la contrainte ne sont pas évaluées. Si l'élément Value du premier cas est FALSE, le cas suivant est évalué. L'évaluation de chaque cas continue dans l'ordre d'apparition des cas du fichier jusqu'à ce que l'évaluation en cours produise un résultat TRUE. L'argument associé au cas est utilisé. Si aucun des cas spécifiés n'est TRUE, le dernier argument fourni pour l'algorithme CaseBranch est utilisé.
Dans la syntaxe générale ci-dessus, les valeurs que vous pouvez utiliser dans les balises Arg sont des chaînes. Eventuellement, les balises Arg peuvent être remplacées par des balises Value. L'utilisation de balises Value imbriquées à la place des balises Arg vous permet d'effectuer des évaluations supplémentaires au sein des arguments.
Est-ce que cela a été utile ?