And
Quita los dos elementos principales de la pila, realiza un valor Boolean AND de los dos elementos y, a continuación, inserta el resultado en la pila.
<ic:Operation Name="And" />
Dos elementos principales en la pila.
Resultado de cadena de la operación AND booleana.
La operación And es útil cuando es necesario evaluar varias instrucciones. La siguiente expresión de filtro de ejemplo comprueba si el nombre de la actividad es "CheckPO" y el evento de actividad se cierra mediante la operación 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>
En este ejemplo , And es la operación final de la expresión porque se basa en los resultados de las comparaciones (y los extrae de la pila para realizar la comparación). Puede ampliar esta idea para realizar operaciones and en más de dos elementos. Por ejemplo, para evaluar si se cumplen las condiciones A, B y C, se usaría una expresión como la siguiente:
<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>