Accessing mixed content in a message in the MRM domain
When you define a complex type in a message model, you can optionally specify its content to be mixed. This setting, in support of mixed content in XML Schema, allows you to manipulate data that is included between elements in the message.
About this task
Consider the following example:
<MRM>
<Mess1>
abc
<Elem1>def</Elem1>
ghi
<Elem2>jkl</Elem2>
mno
<Elem3>pqr</Elem3>
</Mess1>
</MRM>
The strings abc, ghi, and mno do not represent the value of a particular element (unlike def, for example, which is the value of element Elem1). The presence of these strings means that you must model Mess1 with mixed content. You can model this XML message in the MRM using the following objects:
If you code the following 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];
the mixed content is successfully mapped to the following output message:
<MRM>
<Mess1>
pqr
<Elem1>mno</Elem1>
jkl
<Elem2>ghi</Elem2>
def
<Elem3>abc</Elem3>
</Mess1>
</MRM>