逻辑树结构是消息的内部(代理)说明。
当消息到达代理时,它将由您在消息流中配置的输入节点接收。在消息可被消息流处理之前,必须由一个或多个解析器对消息进行解释,以从消息数据的位流创建逻辑树表示。
树格式包含从中创建该树的位流等同的内容,使用树格式将更易于在消息流内操作。许多内置消息流节点为您提供了一个可用于查询和更新树中消息内容的接口,并对可帮助您提供每个节点中必需函数的消息和数据库执行其他操作。
提供了以下三个接口:
解析器创建的树结构很大程度上独立于任何消息格式(例如,XML)。这种情况的例外是作为消息树的一部分创建的子树,且它表示消息体。此子树是与消息相关的,它的内容不作进一步的描述。
输入节点创建逻辑树,它由四个子树组成:
其中第一个树用输入消息位流的内容填充,如如何填充消息树中所述:其余三个初始为空。
创建的四个树中的每一个都有一个根元素(其名称特定于每个树)。每个树由称为元素的许多离散信息段组成。根元素没有父代和兄弟(兄弟是共享单个父代的元素)。根是许多子元素的父代。每个子代必须有一个父代,可以没有或有多个同代,且可以没有或有多个子代。
这四个树是为内置和用户定义的输入节点和解析器创建的。
输入节点将其已创建的逻辑树结构传递到消息流中的后继消息处理节点:
要确定还要包含哪个树,必须为节点的计算方式属性(显示在“高级”选项卡上)指定一个值。缺省操作仅用于要创建的消息。您可指定 要在输出树中创建的消息、LocalEnvironment 和 ExceptionList 树的任意组合。
如果您希望输出树包含输入消息树的完整副本,您可以编码单句 ESQL SET 语句以进行复制。如果要输出消息包含输入消息树的子集,则对 ESQL 进行编码以复制您需要的部分。两种情况下,您的计算方式选项必须包括消息。
如果要输出树包含所有或部分输入 LocalEnvironment 或 ExceptionList 树内容,则对相应的 ESQL 进行编码以复制要在该树中保留的信息。您的计算方式选项必须包含 LocalEnvironment 和/或 Exception。
还可以对 ESQL 进行编码以植入输出消息、Environment、LocalEnvironment 或 ExceptionList 树,而无需从输入树复制信息。 例如,您可从数据库检索数据,或计算来自 输入消息数据的内容。