Zweigalgorithmen
Folgende vordefinierte Zweigalgorithmen stehen zur Verfügung:
Algorithmus
|
Beschreibung
|
wt.rule.algorithm.BooleanBranch
|
Verwendet eine Liste mit drei Objekten. Das erste Objekt in einem Value-Tag muss ein Objekt sein, das einen booleschen Wert zurückgibt, der den BooleanBranch-Algorithmus anweist, welches der beiden anderen Objekte, die jeweils in einem Argument enthalten sind, zurückgegeben werden soll.
|
wt.rule.algorithm.CaseBranch
|
Ähnlich wie BooleanBranch, mit der Ausnahme, dass die Verzweigung auftritt, wenn eine Kombination WAHR ergibt. Es gibt ein Argument für jede Kombination sowie ein zusätzliches Argument, das den Standardwert definiert, wenn keine der Kombinationen WAHR ergeben.
|
Der Algorithmus BooleanBranch weist folgende allgemeine Syntax auf:
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="xxx">
:
</Value>
<Arg>yyy</Arg>
<Arg>zzz</Arg>
</Value>
Der im verschachtelten
Value-Tag genannte Algorithmus (im Format als xxx bezeichnet) kann jeder gültige Algorithmus sein, der einen booleschen Wert ergibt. Eines der Objekte in den
Argumenten (identifiziert durch die
Arg-Tags und die Zeichenfolgen yyy und zzz) wird abhängig vom Ergebnis des xxx-Algorithmus verwendet.
Ein CaseBranch-Algorithmus mit drei Kombinationen weist folgende allgemeine Syntax auf:
<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>
Ein CaseBranch-Algorithmus kann über eine beliebige Anzahl von Kombinationen verfügen. Jede Kombination im CaseBranch-Algorithmus besteht aus einem Value-Element, das entweder als WAHR oder FALSCH ausgewertet werden kann, und einem Argument, das direkt nach dem Value-Element folgt. Wenn das Value-Element WAHR ist, dann wird das Argument verwendet, und die verbleibenden Tags in der Beschränkung werden nicht bewertet. Hat das Value-Element in der ersten Kombination den Wert FALSCH, dann wird die nächste Kombination bewertet. Die Bewertung der einzelnen Kombinationen wird in der Reihenfolge forteingestellt, in der diese in der Datei aufgeführt sind, bis die aktuelle Bewertung ein Ergebnis mit dem Wert WAHR ergibt. Das der Kombination zugeordnete Argument wird verwendet. Wenn keine der angegebenen Kombinationen WAHR ergeben, wird das letzte Argument verwendet, das für den CaseBranch-Algorithmus angegeben wird.
In der allgemeinen Syntax oben können Sie als Werte in den Arg-Tags Zeichenfolgen verwenden. Optional lassen sich Arg-Tags durch Value-Tags ersetzen. Durch Verwendung von verschachtelten Value-Tags anstelle von Arg-Tags können Sie zusätzliche Auswertungen innerhalb der Argumente durchführen.