使用条件编辑器
Version 25.2.9314
Version 25.2.9314
使用条件编辑器
条件映射编辑器支持向目标节点添加条件,以便仅在条件为真时它们才包含在输出文档中。该编辑器还允许根据源的值设置目标节点的值。可以通过添加单个规则和/或规则组来构建复杂的条件,然后指定满足条件时映射应采取的操作。
要打开编辑器,请将鼠标悬停在目标文档中的节点上,然后单击过滤器 图标。
为条件命名,然后单击添加规则或添加组。
当构建规则时,请使用下拉菜单进行选择。 可以从以下选项中进行选择:
- 输入XML
- 值:正在评估的 XPath 处的值
- 值类型:值的数据类型(字符串、数字、日期时间)
- 出现次数:XPath在文档中出现的次数
- 索引:表示正在评估的 Foreach 循环的当前迭代的索引
- 消息头
- 值: 正在评估的消息头的值
- 值类型:值的数据类型(字符串、数字、日期时间)
- 出现次数:XPath 在文档中出现的次数
- 索引:表示正在执行的 Foreach 循环的当前迭代的索引
- 多变的
- 值:被评估的变量的值
- 值类型:值的数据类型(字符串、数字、日期时间)
当为条件选择 XPath 时,编辑器会显示文档的树形表示形式,以便可以轻松找到所需的 XPath,如下图所示。
可以对规则和组重新排序。 单击手柄 并将对象拖动到新位置。
完成条件定义后,使用运算符右侧的文本框指定满足条件时应发生的情况。
选择以下状态:
- Success(成功)
- Warning(警告)
- Error(错误)
选中发送通知并填写发送给和主题字段,以发送有关错误状态的电子邮件。
注意:单击“配置警报”打开新的浏览器选项卡,可以在设置页面的通知选项卡上设置“电子邮件设置”。 如果这些配置不正确,电子邮件通知将失败。
最后,使用文本框的 否则 部分来指定当条件不满足时应该发生什么。
使用 否则,将操作设置为 下拉列表选择是否:
- 排除元素 从映射中完全排除元素
- 映射值 无论如何都要映射值
- 分配不同的值 分配不同的值(保存条件后定义为表达式或自定义脚本)
状态和通知选项的工作方式与顶部部分相同。
保存条件时,它会出现在映射编辑器中,并且其行为方式与映射中任何其他叶节点相同。 可以从源端拖放元素,为其编写表达式或自定义脚本等。
条件逻辑也可以使用前瞻语法来实现。父元素通常由子元素限定,子元素会为父元素中的值提供上下文。在这种情况下,使用前瞻语法可能比创建多个条件来排除不需要的值更容易。有关使用前瞻语法的更多详细信息,请参阅 前瞻。
脚本模式
可以使用 ArcScript 语法来指定自定义条件,只需点击右上角的“脚本模式”开关即可。
映射条件中的脚本模式
打开脚本模式后,使用窗口编写自定义条件,然后使用页面右侧的选项,按照上述方法操作:
- 设置消息的状态
- 发送通知
- 将 Else 条件添加到映射中,包括在不满足条件时从映射中排除元素
注意:
- 编辑器会在输入时验证条件。如果看到“无效条件”消息,则表示存在某种语法问题,需要解决。
- 如果创建的 ArcScript 条件无法在设计器中呈现,则当切换回设计器模式时,系统会警告无法在设计器模式下呈现此配置。如果切换到设计器模式,将丢失对现有配置的所有更改。
自定义条件编辑器的一种常见用途是比较源文档中的两个动态值(而不是将单个动态值与静态值进行比较)。
例如,可以使用以下自定义条件来查看源 XML 中的两个值是否相等:
'[xpath(element1)]' == '[xpath(data/element2)]'
注意:上例中的单引号是必需的。
还可以使用 ArcScript 格式化器在自定义条件下执行布尔逻辑,如下例所示:
[xpath(element1) | equals([xpath(data/element2])])]
请注意,此语法不需要单引号。
有关所有 ArcScript 格式化器的详细信息,请参阅 格式化器。