过滤重现节点

通过指定要在运行时用于过滤的 XPath 谓词,您可以限制由映射活动所返回的重现节点。

关于此任务

通过在活动的映射窗格中直接使用谓词进行过滤,可消除对以下活动的需要: 消除循环和 If..Then 活动可提高编排性能。
例如,您可以使用下列方法之一来将由 BatchOrderProcessingSample 编排所处理的书籍限制为仅返回以字母 B 开头的书籍标题:
  • 在用于将平面文件数据转换为 XML 的读取平面文件活动之后,您可以添加一个包含 If..Then 活动(用于测试以字母 B 开头的所有书籍标题)的 While 循环活动。当 While 循环活动在运行时完成后,将返回标题以字母 B 开头的重现 BookOrder 节点的集合。
  • 直接在读取平面文件活动(用于将平面文件数据转换为 XML)的映射输出任务的“目标编排”窗格中指定谓词,以进行过滤。这是首选方法,因为它能减少运行时期间所进行的处理,从而提高编排性能。 例如,您可以在重现的 BookOrder 节点上指定以下谓词,从而将运行时返回的 Bookorder 节点限制为仅以字母 B 开头的标题:*:title/starts-with(.,'B')
此示例谓词在下表中说明:
谓词字符 描述
*: 指定此谓词适用于源节点的任何名称空间。
title/ 指定针对当前源节点的标题节点来应用此谓词。
starts-with(.,'B') 指定此谓词将仅返回具有以字母 B 开头的标题节点的节点。starts-with 函数是一个内置的 XPath 函数。

有关 BookOrder 样本的更多信息,请参阅《入门指南》。如果已在 Studio 安装期间接受缺省值,那么您可以在以下目录中找到样本的参考实施:C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\BookOrder

要在重现节点上指定谓词:

过程

  1. 您只能将过滤器应用于已映射至重现源节点(在活动的映射窗格中)的重现目标节点,如 BatchOrderProcessingSample 编排中的读取平面文件活动的以下“映射输出”窗格所示:
  2. 右键单击目标 occurrence 节点(在本示例中为 BookOrder/occurrence),然后从菜单中选择过滤重现节点 这样会打开“过滤重现节点”对话框。
  3. 输入 XPath 谓词。对于本示例,请输入下图所示的谓词:
  4. 单击确定。将对该谓词进行求值以确定其是否有效:
    • 如果谓词无效,那么将会报告错误消息。
    • 如果谓词有效,那么过滤器图标 (“重现节点”图标) 会显示在目标出现节点的旁边。



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/map_Filter_Recurring_Nodes.html