arc:check
Version 25.3.9469
Version 25.3.9469
arc:check
arc:check キーワードは、値パラメータの有無にかかわらず使用します。値パラメータがない場合は、arc:check のボディが実行される前に、アトリビュートがアイテムの中に存在しnull 文字列ではないことを確認します。
値パラメータを指定した場合は、arc:check ボディはエクスプレッションがtrue と評価された場合のみ実行します。他の値はfalse となります。評価では、大文字と小文字を区別しません。
他のArcScript のシンプルな条件文と同様に、arc:check はarc:else キーワードとペアで使うことができます。
Note:arc:equals とは異なり、arc:check はアイテムにアトリビュートが存在しない場合でも例外をスローしません。
パラメータ
- item:アトリビュートをチェックするアイテム。アイテムの指定は必須ではありません。アイテムが指定されていない場合は、デフォルトのアウトプットアイテムが使われます。
- attr:チェックするアトリビュートの名前。このパラメータは必須です。
- value:
trueまたはfalseと評価されるエクスプレッション。例えば、true もしくはfalse を返すフォーマッタの結果です。 - action:エクスプレッションが
trueと判断された場合に実行されるアクション。使用できる値は、breakおよびcontinueです。
アトリビュートの制御
None
例
アイテムにアトリビュートがあるかどうかをチェックする
この例は、arc:check を使用して、result アイテムにnumber アトリビュートが存在するかどうかを確認します。true の場合、メッセージにヘッダーが追加されます。そうでない場合は、エラーが発生します。
<arc:set attr="result.number" value="95" />
<!-- Check that the number attribute exists on the result item first. -->
<arc:check attr="result.number">
<!-- If true, add a header. -->
<arc:if exp="[result.number | lessthan(100)]">
<arc:set attr="out.header:numberlessthan100" value="true" />
<arc:set attr="out.filepath" value="[filepath]" />
<arc:push item="out" />
<!-- Else, throw an error. -->
<arc:else>
<arc:throw code="HighValue" desc="The target value was above the desired value of 100." />
</arc:else>
</arc:if>
</arc:check>
列挙中に値をチェックする
この例は、1から10までの範囲を列挙し、arc:check を使用して反復値を確認します。5に等しい場合は、列挙を終了します。値が5に等しくない場合は、データを含むファイルを作成し、そのファイルを出力としてプッシュします。
<arc:enum range="1..10">
<!-- Check the current iteration and break if it is equal to 5. -->
<arc:check value="[_value | equals(5)]" action="break" />
<!-- For iterations not equal to 5, create a file and push it as output. -->
<arc:setm item="out">
FileName=Result_[_value].txt
Data=The enumeration value is [_value].
</arc:setm>
<arc:push item="out" />
</arc:enum>
関連項目
- arc:exists:アトリビュートが存在するかどうかをチェックする。
- arc:equals:同じ値かどうかをチェックする。
- arc:notequals:同じ値ではないかどうかをチェックする。