arc:check

Version 25.2.9314


arc:check


使用带或不带 value 参数的 arc:check 关键字。如果没有 value 参数,则可确保在执行 arc:check 主体之前,属性存在于项目中且不是空字符串。

如果指定 value 参数,则仅当表达式求值为真时,才会执行 arc:check 主体。其他值均视为假。求值不区分大小写。

与 ArcScript 中的其他简单条件一样,arc:check 可与 arc:else 关键字配对使用。

注意:arc:equals, arc:check 如果项目中不存在该属性,则不会引发异常。

参数


  • item:要检查的属性的对象。该参数不是必需的,如果没有对象被指定,将会使用默认的输出对象。
  • attr:要检查的属性的名称,该参数是必需的。
  • value:计算结果为 truefalse 的表达式。例如:格式化器返回 true 或 false 的结果。
  • action:如果表达式计算为 true,要执行的操作。允许值有:breakcontinue

控制属性


示例


检查项目是否存在某个属性

本示例使用 arc:check 来检查 result 项目是否存在 number 属性。如果为真,则在消息中添加标头。否则,抛出错误。

<arc:set attr="result.number" value="95" />

<!-- 首先检查结果项是否存在 number 属性。-->
<arc:check attr="result.number">
  <!-- 如果为 true,则添加标题。-->
  <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" />
    <!-- 否则,抛出错误。-->
    <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">
  <!-- 检查当前迭代次数,如果等于 5 则中断。-->
  <arc:check value="[_value | equals(5)]" action="break" />
  <!-- 对于不等于 5 的迭代次数,创建一个文件并将其作为输出推送。-->
  <arc:setm item="out">
    FileName=Result_[_value].txt
    Data=The enumeration value is [_value].
  </arc:setm>
  <arc:push item="out" />
</arc:enum>

另请参阅