および
スタックから上位 2 つの項目を削除し、2 つの項目のブール 値 AND を実行し、結果をスタックにプッシュします。
<ic:Operation Name="And" />
スタックの上位 2 項目。
ブール 値 AND 演算の文字列の結果。
And 操作は、複数のステートメントを評価する必要がある場合に便利です。 次のフィルター式の例では、アクティビティ名が "CheckPO" で、アクティビティ イベントが 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>
この例では 、 と は比較の結果に依存しているため、式の最後の操作です (また、比較を実行するためにスタックからポップします)。 このアイデアを拡張して、2 つ以上の項目に対して And 操作を実行できます。 たとえば、条件 A、条件 B、および条件 C が True の場合、次のような式を使用します。
<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>