使用条件映射编辑器

Version 23.4.8843


使用条件映射编辑器


条件映射编辑器支持向目标节点添加条件,以便仅在条件为真时它们才包含在输出文档中。 可以通过添加单个规则和/或规则组来构建复杂的条件,然后指定满足条件时端口应采取的操作。

要打开编辑器,请将鼠标悬停在目标文档中的节点上,然后单击过滤器 过滤器 图标。

编辑器模式分为几个部分。 在左侧,可以:

  1. 为的条件命名:这样可以在 映射编辑器 中包含条件名称(而不是整个条件),从而使的映射更具可读性。
  2. 定义满足条件必须满足的规则或规则组。
  3. 查看为其定义条件的目标节点(映射)。

在右侧,可以:

  1. 设置消息的状态。
  2. 发送通知。
  3. Else 条件添加到的映射中。 可以排除该元素,无论如何映射该值,或者完全映射不同的值。

要添加条件,请单击“添加规则”或“添加组”。

当构建规则时,请使用下拉菜单进行选择。 可以从以下选项中进行选择:

  • 输入XML
    • 值:正在评估的 XPath 处的值
    • 值类型:值的数据类型(字符串、数字、日期时间)
    • 出现次数:XPath在文档中出现的次数
    • 索引:表示正在评估的 Foreach 循环的当前迭代的索引
  • 消息头
    • 值: 正在评估的消息头的值
    • 值类型:值的数据类型(字符串、数字、日期时间)
  • 多变的
    • 值:被评估的变量的值
    • 值类型:值的数据类型(字符串、数字、日期时间)

当为条件选择 XPath 时,编辑器会显示文档的树形表示形式,以便可以轻松找到所需的 XPath,如下图所示。

可以对规则和组重新排序。 单击手柄 手柄 并将对象拖动到新位置。

完成条件定义后,使用模态的右侧指定满足条件时应发生的情况。

选择以下状态:

  • Success(成功)
  • Warning(警告)
  • Error(错误)

选中发送通知并填写发送给主题字段,以发送有关错误状态的电子邮件。

注意:单击“配置警报”打开新的浏览器选项卡,可以在设置页面的通知选项卡上设置“电子邮件设置”。 如果这些配置不正确,电子邮件通知将失败。

最后,使用模式的 否则 部分来指定当条件不满足时应该发生的情况。

使用 映射 下拉列表选择是否:

  • Exclude Element 从映射中完全排除元素
  • Map Value 无论如何都要映射值
  • Assign a Different Value 分配不同的值(保存条件后定义为表达式或自定义脚本)

状态和通知选项的工作方式与顶部部分相同。

保存条件时,它会出现在映射编辑器中,并且其行为方式与映射中任何其他叶节点相同。 可以从源端拖放元素,为其编写表达式或自定义脚本等。

条件逻辑也可以使用先行语法来完成。 父元素通常由子元素限定,该子元素为父元素内的值提供上下文。 在这些情况下,使用先行语法可能比创建多个条件来排除不需要的值更容易。 有关使用 Lookahead 语法的更多详细信息,请参阅 Lookahead

自定义条件

可以使用 ArcScript 语法来指定自定义条件。 单击“自定义脚本”按钮打开脚本窗口。 当编写完自定义条件后,请按照与上述相同的方式使用页面右侧来:

  • 设置消息的状态
  • 发送通知
  • Else 条件添加到映射中,包括在不满足条件时从映射中排除元素

注意:编辑器会在键入时验证的条件。 如果看到 无效条件 消息,则表示存在某种必须解决的语法问题。

自定义条件编辑器的一种常见用途是比较源文档中的两个动态值(而不是将单个动态值与静态值进行比较)。

例如,可以使用以下自定义条件来查看源 XML 中的两个值是否相等:

'[xpath(element1)]' == '[xpath(data/element2)]'

注意:上例中的单引号是必需的。

还可以使用 ArcScript 格式化器在自定义条件下执行布尔逻辑,如下例所示:

[xpath(element1) | equals([xpath(data/element2])])]

请注意,此语法不需要单引号。

有关所有 ArcScript 格式化器的详细信息,请参阅 格式化器