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