arc:check

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:チェックするアトリビュートの名前。このパラメータは必須です。
  • valuetrue または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:同じ値ではないかどうかをチェックする。