この節では、ブール型演算子として機能し、<if> ステップの条件内で使用される要素を紹介します。ブール型演算子は、true または false にのみ評価可能です。
特定の値が true かどうかを判断するために使用するブール型演算子です。<istrue> は value という属性を 1 つ含み、子要素は持ちません。<istrue> は、value が true と等しいときだけ、true となります。比較では大文字と小文字が区別されます。
<istrue> 演算子には 1 つの必須属性 value があり、これは true と比較する値です。この属性は、単純置換変数を参照できます。
次の例に、<istrue> の使用方法と結果を示します。
次の文は true になります。
<istrue value="True"/> |
次の文は false になります。
<istrue value="yes"/> |
次の文は、var が true である場合、true になります。
<istrue value=":[var]"/> |
特定の値が別の値と等しいかどうかを判断するために使用されるブール型演算子です。この演算子には value1、value2、および exact 属性があります。この演算子には子要素はなく、value1 属性と value2 属性が等しい ときだけ、true となります。exact が true の場合、値は大文字小文字を含めて等しくなければなりません。exact が false であれば、比較では大文字と小文字は区別されません。
<istrue value="..."/> は次の文の構文上の短縮形です。
<equals value1="..." value2="true"/> |
<equals> 演算子には次の属性があります。
次の例に、<equals> の使用方法と結果を示します。
次の文は true になります。
<equals value1="True" value2="true"/> |
次の文は false になります。
<equals value1="True" value2="true" exact="true"/> |
次の文は true になります。
<equals value1="apple" value2="apple" exact="true"/> |
次の文は false になります。
<equals value1="apple" value2="orange"/> |
var1 が var2 に等しい場合、次の文は true になります。
<equals value1=":[var1]" value2=":[var2]"/> |
特定の値がパターンに一致するかどうかを判断するために使用されるブール型演算子です。この演算子には value、pattern、および exact 属性があります。この演算子には子要素がなく、value の値が pattern に含まれる glob スタイルのパターンに一致する場合だけ、true となります。exact が true である場合、値は大文字小文字を含めて一致しなければなりません。そのほかの場合は大文字と小文字は区別されません。
<matches> 演算子には次の属性があります。
次の例に、<matches> の使用方法と結果を示します。
次の文は true になります。
<matches value="True" pattern="true"/> |
次の文は true になります。
<matches value="True" pattern="t*"/> |
次の文は false になります。
<matches value="blue" pattern="*u"/> |
次の文は true になります。
<matches value="True" pattern="t?ue"/> |
次の文は false になります。
<matches value="Tue" pattern="t?ue"/> |
次の文は false になります。
<matches value="True" pattern="t*" exact="true"/> |
var1 が var2 のパターンに一致する場合、次の文は true になります。
<matches value=":[var1]" pattern=":[var2]"/> |
別のブール型演算子の結果を否定するブール型演算子です。この演算子は属性を含まず、ほかのブール型演算子の子要素である子要素を 1 つだけ含みます。この演算子は、含んでいる演算子が true でない場合だけ、true になります。
次の例に、<not> の使用方法と結果を示します。
次の文は false になります。
<not><istrue value="True"/></not> |
次の文は true になります。
<not><equals value1="apple" value2="orange"/></not> |
ほかのブール型演算子の結果の AND 論理演算を行うブール型演算子です。この演算子は属性を含まず、またほかのブール型演算子である子要素をいくつでも含むことができます。<and> 演算子は、すべての子要素が true の場合だけ、true になります。
次の例に、<and> の使用方法と結果を示します。
次の文は true になります。
<and/> |
次の文は true になります。
<and><istrue value="True"/></and> |
次の文は false になります。
<and><equals value1="apple" value2="orange"/></and> |
次の文は true になります。
<and> <matches value="apple" value2="ap*e"/> <istrue value="TRUE"/> <not><equals value1="apple" value2="orange"/></not> </and> |
次の文は false になります。
<and> <matches value="apple" value2="ap*e"/> <istrue value="TRUE"/> <equals value1="apple" value2="orange"/> </and> |
ほかのブール型演算子の結果の OR 論理演算を行うブール型演算子です。この演算子は属性を含まず、またほかのブール型演算子である子要素をいくつでも含むことができます。<or> 演算子は、true である子要素を 1 つ以上含む場合だけ、true になります。
次の例に、<or> の使用方法と結果を示します。
次の文は false になります。
<or/> |
次の文は true になります。
<or><istrue value="True"/></or> |
次の文は false になります。
<or><equals value1="apple" value2="orange"/></or> |
次の文は false になります。
<or> <matches value="apple" value2="p*e"/> <istrue value="FALSE"/> <equals value1="apple" value2="orange"/> </or> |
次の文は true になります。
<or> <matches value="apple" value2="p*e"/> <not><istrue value="FALSE"/></not> <equals value1="apple" value2="orange"/> </or> |