在 MRM 域中访问消息中的混合内容

当您在消息模型中定义复杂类型时,可选地,您可以指定要混合的内容。该设置(支持 XML 模式中的混合内容)允许您处理消息中包含在元素之间的数据。

请参阅以下示例:

<MRM>
  <Mess1>
    abc
    <Elem1>def</Elem1>
    ghi
    <Elem2>jkl</Elem2>
    mno
    <Elem3>pqr</Elem3>
  </Mess1>
</MRM>

字符串 abc、ghi 和 mno 不表示特定元素的值(例如,它不同于元素 Elem1 的值 def)。这些字符串的存在表示您必须用混合内容构建模型 Mess1。 您可以使用以下对象在 MRM 中构建此 XML 消息的模型:

消息
消息 Name 属性设置为 Mess1 以匹配 XML 标记。

Type 属性设置为 tMess1

类型
复杂类型 Name 属性设置为 tMess1

Composition 属性设置为 OrderedSet

复杂类型有混合内容。

复杂类型包含下列对象:

元素
Name 属性设置为 Elem1 以匹配 XML 标记。

Type 属性设置为 xsd:string

元素
Name 属性设置为 Elem2 以匹配 XML 标记。

Type 属性设置为 xsd:string

元素
Name 属性设置为 Elem3 以匹配 XML 标记。

Type 属性设置为 xsd:string

如果您对以下 ESQL 编码:

SET OutputRoot.MRM.*[1] = InputBody.Elem3;
SET OutputRoot.MRM.Elem1 = InputBody.*[5];
SET OutputRoot.MRM.*[3] = InputBody.Elem2;
SET OutputRoot.MRM.Elem2 = InputBody.*[3];
SET OutputRoot.MRM.*[5] = InputBody.Elem1;
SET OutputRoot.MRM.Elem3 = InputBody*[1];

混合内容成功映射到以下输出消息:

<MRM>
  <Mess1>
    pqr
    <Elem1>mno</Elem1>
    jkl
    <Elem2>ghi</Elem2>
    def
    <Elem3>abc</Elem3>
  </Mess1>
</MRM>
相关概念
消息流概述
ESQL 概述
消息建模
相关任务
设计消息流
定义消息流内容
管理 ESQL 文件
开发消息模型
相关参考
Compute 节点
Database 节点
Filter 节点
ESQL 引用
IF 语句
SET 语句
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac06030_