记录选择表达式
记录选择表达式用于从文件中选择要传播到流的其余内容的记录。
每个记录依次与表达式相比较,并且将第一个求值为 true 的记录传播到 Out 终端。 可以将表达式设置为返回布尔值的任何有效 XPath 表达式。 当选择整个文件作为记录检测选项时,将不使用表达式。
表达式中使用的关联名
可以在表达式中使用以下任何关联名:
这些关联名中数据的任意组合可以与任何有效 XPath 表达式结合用于确定是否要传播记录。
示例
表达式为:
$InputRoot/XMLNSC/Invoice/AccountNumber=$ResultRoot/XMLNSC/Data/Key在此示例中,每个记录都是有效的 XML 文档。 FileRead 节点从文件中读取每条记录。 在入局消息中, FileRead 节点将字段 /Data/Key 与字段 /Invoice/AccountNumber进行比较。 如果记录匹配,那么会将其传播到 Out 终端。
表达式为:
$OutputLocalEnvironment/File/Read/RecordNumber=5FileRead 节点从文件中读取每条记录,并将记录号与 5 进行比较。 记录在到达第五条记录时传播。
通过使用与文件中的记录组合的入局消息构建外发消息
FileRead 节点从文件中读取记录,并将其与传入节点的消息相结合。 缺省情况下,它将消息替换为从文件中读取的记录的内容。 但是,通过使用“结果”面板上的属性,可以选择如何组合入局消息和文件记录内容。 该节点具有三棵逻辑树:
缺省情况下,通过将“输入”消息组合件复制到“输出”消息组合件来构造“输出”消息组合件。 然后,“输出”消息组合件的数据部分替换为“结果”消息组合件的内容,并将使用节点中发生的情况的详细信息更新 OutputLocalEnvironment。
以下“结果”面板属性可用于修改此行为:
例如,以下选项将记录中的名称字段复制到输出消息。 “输出”消息的其余内容基于输入消息:
Result data location= ResultRoot.XMLNSC.Invoice.Name
Output data location= OutputRoot.XMLNSC.Invoice.Name以下选项将记录中的消息体复制到输出局部环境。 “输出”消息与输入消息相同:
Result data location= ResultRoot.XMLNSC.Invoice
Output data location= OutputLocalEnvironment.Variables.Invoice