Acceso a un contenido mixto en un mensaje en el dominio de MRM

Al definir un tipo complejo en un modelo de mensaje, de forma opcional puede especificar que el contenido sea mixto. Este valor, cuando se utiliza como soporte del contenido mixto en el esquema XML, permite manipular datos incluidos entre los elementos del mensaje.

Suponga 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 concreto (a diferencia de def, por ejemplo, que es el valor del elemento Elem1). La presencia de estas series de caracteres indica que debe modelar Mess1 con el contenido mixto. Puede modelar este mensaje XML en MRM con los objetos siguientes:

Mensaje
La propiedad Nombre del mensaje se establece en Mess1 para que coincida con el código XML.

La propiedad Tipo se establece en tMess1.

Tipo
La propiedad compleja Nombre se establece en tMess1.

La propiedad Composición se establece en OrderedSet.

El tipo complejo tiene un contenido mixto.

El tipo complejo contiene los objetos siguientes:

Elemento
La propiedad Nombre se establece en Elem1 para que coincida con el código XML.

La propiedad Tipo se establece en tipo simple xsd:string.

Elemento
La propiedad Nombre se establece en Elem2 para que coincida con el código XML.

La propiedad Tipo se establece en tipo simple xsd:string.

Elemento
La propiedad Nombre se establece en Elem3 para que coincida con el código XML.

La propiedad Tipo se establece en tipo simple xsd:string.

Si escribe el siguiente código 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 correlaciona satisfactoriamente con el siguiente mensaje de salida:

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

Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes

Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensajes

Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL
Sentencia IF
Sentencia SET