Cuando se define un tipo complejo en un modelo de mensaje se puede, opcionalmente, especificar que su contenido sea mixto. Este valor, que indica un contenido mixto en un esquema XML, permite manipular datos que se incluyen entre elementos del mensaje.
Considere el siguiente ejemplo:
<MRM> <Mess1> abc <Elem1>def</Elem1> ghi <Elem2>jkl</Elem2> mno <Elem3>pqr</Elem3> </Mess1> </MRM>
Las series de caracteres abc, ghi y mno no representan el valor de un elemento en particular (a diferencia de def, por ejemplo, que es el valor del elemento Elem1). La presencia de estas series de caracteres indica que Mess1 ha de modelarse con un contenido mixto. Este mensaje XML se puede modelar en el MRM utilizando los siguientes objetos:
La propiedad Tipo se establece en tMess1.
La propiedad Composición se establece en OrderedSet.
El tipo complejo tiene un contenido mixto.
El tipo complejo contiene los siguientes objetos:
La propiedad Tipo se establece el tipo simple xsd:string.
La propiedad Tipo se establece el tipo simple xsd:string.
La propiedad Tipo se establece el tipo simple xsd:string.
Si codifica el siguiente 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];
el contenido mixto se correlacionará correctamente con el siguiente mensaje de salida:
<MRM> <Mess1> pqr <Elem1>mno</Elem1> jkl <Elem2>ghi</Elem2> def <Elem3>abc</Elem3> </Mess1> </MRM>