

- 输入 XML
- 值:正在评估的 XPath 处的值
- 值类型:值的数据类型(字符串、数字、日期时间)
- 出现次数:XPath 在文档中出现的次数
- 索引:表示正在评估的 Foreach 循环当前迭代的索引
- 消息头
- 值:正在评估的消息头的值
- 值类型:值的数据类型(字符串、数字、日期时间)
- 变量
- 值:被评估变量的值
- 值类型:值的数据类型(字符串、数字、日期时间)
- 静态值(默认):用于输入字面比较值的自由文本输入框。仅在右侧可用。
- 输入 XML
- 消息头
- 变量
- 当运算符为包含、开头是、结尾是、匹配 glob、匹配正则表达式、在列表中或不在列表中时,或者当左侧类型为索引或出现次数时,源下拉列表会锁定为静态值
- 当运算符不需要值(为空、不为空、为 null 和不为 null)时,右侧会完全隐藏
- 当左侧类型为值类型时,右侧下拉列表会显示一组固定选项:字符串、数字或日期时间


- 成功
- 警告
- 错误
单击配置警报会在新的浏览器选项卡中打开通知页面,可以在其中配置电子邮件设置。如果这些配置不正确,电子邮件通知将失败。
- 排除元素,从映射中完全排除元素
- 映射值,无论如何都映射该值
- 分配不同的值,分配不同的值(保存条件后定义为表达式或自定义脚本)

脚本模式
可以使用 ArcScript 语法来指定自定义条件,只需打开右上角的“脚本模式”开关即可。映射条件中的脚本模式
打开脚本模式后,使用窗口编写自定义条件,然后按照上述方法使用右侧窗格:- 设置消息的状态
- 发送通知
- 将 Else 条件添加到映射中,包括在不满足条件时从映射中排除元素

- 编辑器会在输入时验证条件。如果看到无效条件消息,则表示存在某种语法问题,需要解决。
- 如果创建的 ArcScript 条件无法在设计器中呈现,则当切换回设计器模式时,系统会警告 知行之桥 无法在设计器模式下呈现此配置。如果切换到设计器模式,将丢失对现有配置的所有更改。
示例
自定义条件编辑器的一种常见用途是比较源文档中的两个动态值(而不是将单个动态值与静态值进行比较)。例如,可以使用以下自定义条件来查看源 XML 中的两个值是否相等:'[xpath(element1)]' == '[xpath(data/element2)]'
上例中的单引号是必需的。
[xpath(element1) | equals([xpath(data/element2])])]
请注意,此语法不需要单引号。
以下示例将 XPath 与映射中先前设置的 _map 变量进行比较。def(0) 格式化器会在比较运行之前,为缺失的 XPath 值提供回退值。
[xpath(FST/FST01) | def(0) | greaterthan([_map.OverUnderShipQty])]
此示例使用脚本模式,因为设计器右侧的源下拉列表中无法使用
_map 变量。对于其他动态值之间的比较(例如 XPath 与 XPath,或 XPath 与消息头或变量),可以在条件编辑器设计器中使用右侧的源下拉列表,而无需使用脚本模式。Datetime 为 2026-10-05,而今天是 2026-09-28,则 datediff('day') 返回 7,因此满足条件。
[xpath(Datetime) | datediff('day') | isbetween(0, 15)]
datediff('day') 返回日期字段与今天之间相差的天数:未来日期为正值,过去日期为负值。isbetween(0, 15) 包含上下两个边界值,因此该条件匹配从今天到 15 天后的日期,而过去日期对应的负值不在该范围内。
有关所有 ArcScript 格式化器的详细信息,请参阅格式化器。