e
Rimuove i primi due elementi dallo stack, esegue un valore Boolean AND dei due elementi e quindi esegue il push del risultato nello stack.
<ic:Operation Name="And" />
Primi due elementi dello stack.
Risultato stringa dell'operazione AND booleana.
L'operazione And è utile quando è necessario valutare più istruzioni. L'espressione di filtro di esempio seguente verifica se il nome dell'attività è "CheckPO" e l'evento di attività viene chiuso usando l'operazione And .
<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 questo esempio E è l'operazione finale nell'espressione perché si basa sui risultati dei confronti e li popa dallo stack per eseguire il confronto. È possibile estendere questa idea per eseguire operazioni E su più di due elementi. Per valutare ad esempio se la condizione A, la condizione B e la condizione C sono vere, è possibile utilizzare un'espressione simile alla seguente:
<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>