跳转到主要内容
条件映射编辑器支持向目标节点添加条件,以便仅在条件为真时它们才包含在输出文档中。该编辑器还允许根据源的值设置目标节点的值。可以通过添加单个规则和/或规则组来构建复杂的条件,然后指定满足条件时映射应采取的操作。 要打开编辑器,请将鼠标悬停在目标文档中的节点上,然后单击过滤器 filter 图标。 为条件命名,然后单击添加规则添加组 构建规则时,请使用下拉菜单进行选择。可以从以下选项中进行选择:
  • 输入 XML
    • 值:正在评估的 XPath 处的值
    • 值类型:值的数据类型(字符串、数字、日期时间)
  • 消息头
    • 值:正在评估的消息头的值
    • 值类型:值的数据类型(字符串、数字、日期时间)
    • 出现次数:XPath 在文档中出现的次数
    • 索引:表示正在评估的 Foreach 循环当前迭代的索引
  • 变量
    • 值:被评估变量的值
    • 值类型:值的数据类型(字符串、数字、日期时间)
为条件选择 XPath 时,编辑器会显示文档的树形表示形式,以便可以轻松找到所需的 XPath,如下图所示。 可以对规则和组重新排序。单击手柄 handle 并将对象拖动到新位置。 完成条件定义后,使用运算符右侧的文本框指定满足条件时应发生的情况。 选择以下状态:
  • 成功
  • 警告
  • 错误
选中发送通知并填写发送给主题字段,以发送有关条件状态的电子邮件。
单击配置警报打开新的浏览器选项卡,可以在设置页面的警报选项卡上设置电子邮件设置。如果这些配置不正确,电子邮件通知将失败。
最后,使用文本框的 Else 部分来指定当条件不满足时应该发生什么。 使用 否则,将操作设置为 下拉列表选择是否:
  • 排除元素,从映射中完全排除元素
  • 映射值,无论如何都映射该值
  • 分配不同的值,分配不同的值(保存条件后定义为表达式或自定义脚本)
状态和通知选项的工作方式与顶部部分相同。 保存条件时,它会出现在映射编辑器中,并且其行为方式与映射中任何其他叶节点相同。可以从源端拖放元素,为其编写表达式或自定义脚本等。 条件逻辑也可以使用前瞻语法来实现。父元素通常由子元素限定,子元素会为父元素中的值提供上下文。在这些情况下,使用前瞻语法可能比创建多个条件来排除不需要的值更容易。有关使用前瞻语法的更多详细信息,请参阅前瞻

脚本模式

可以使用 Script 语法来指定自定义条件,只需打开右上角的“脚本模式”开关即可。

映射条件中的脚本模式

打开脚本模式后,使用窗口编写自定义条件,然后使用页面右侧的选项,按照上述方法操作:
  • 设置消息的状态
  • 发送通知
  • Else 条件添加到映射中,包括在不满足条件时从映射中排除元素
  • 编辑器会在输入时验证条件。如果看到无效条件消息,则表示存在某种语法问题,需要解决。
  • 如果创建的 Script 条件无法在设计器中呈现,则当切换回设计器模式时,系统会警告 无法在设计器模式下呈现此配置。如果切换到设计器模式,将丢失对现有配置的所有更改。
自定义条件编辑器的一种常见用途是比较源文档中的两个动态值(而不是将单个动态值与静态值进行比较)。 例如,可以使用以下自定义条件来查看源 XML 中的两个值是否相等: '[xpath(element1)]' == '[xpath(data/element2)]'
上例中的单引号是必需的。
还可以使用 Script 格式化器在自定义条件中执行布尔逻辑,如下例所示: [xpath(element1) | equals([xpath(data/element2])])] 请注意,此语法不需要单引号。 有关所有 Script 格式化器的详细信息,请参阅格式化器