Und
Entfernt die beiden obersten Elemente aus dem Stapel, führt eine boolesche AND der beiden Elemente aus und pusht das Ergebnis dann auf den Stapel.
<ic:Operation Name="And" />
Die beiden oberen Elemente im Stapel.
Zeichenfolgenergebnis des booleschen AND-Vorgangs .
Der Und-Vorgang ist nützlich, wenn Sie mehrere Anweisungen auswerten müssen. Der folgende Beispielfilterausdruck überprüft mithilfe des And-Vorgangs, ob der Aktivitätsname "CheckPO" lautet und das Aktivitätsereignis geschlossen wird.
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetActivityName"/>
<ic:Operation Name="Constant">
<ic:Argument>CheckPO</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityEvent"/>
<ic:Operation Name="Constant">
<ic:Argument>Closed</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<ic:Operation Name="And"/>
</ic:Expression>
</ic:Filter>
In diesem Beispiel ist And der letzte Vorgang im Ausdruck, da er auf den Ergebnissen der Vergleiche beruht (und sie aus dem Stapel füllt, um den Vergleich durchzuführen). Sie können diese Idee erweitern, um Und-Vorgänge für mehr als zwei Elemente auszuführen. Wenn Sie z. B. feststellen möchten, ob Bedingung A und Bedingung B und Bedingung C erfüllt sind, verwenden Sie folgenden Ausdruck:
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetActivityName"/>
<ic:Operation Name="Constant">
<ic:Argument>CheckPO</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityEvent"/>
<ic:Operation Name="Constant">
<ic:Argument>Closed</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityType"/>
<ic:Operation Name="Constant">
<ic:Argument>MyType</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<ic:Operation Name="And"/>
<ic:Operation Name="And"/>
</ic:Expression>
</ic:Filter>