Quando si definisce un tipo complesso in un modello di messaggio, è possibile facoltativamente specificare che abbia contenuto misto. Questa impostazione, a supporto del contenuto misto nello schema XML, consente di manipolare i dati inclusi tra gli elementi nel messaggio.
Prendere in considerazione il seguente esempio:
<MRM> <Mess1> abc <Elem1>def</Elem1> ghi <Elem2>jkl</Elem2> mno <Elem3>pqr</Elem3> </Mess1> </MRM>
Le stringhe abc, ghi e mno non rappresentano il valore di un elemento particolare (a differenza di def, ad esempio, che è il valore dell'elemento Elem1). La presenza di queste stringhe indica che è necessario creare il modello di Mess1 con contenuto misto. E' possibile creare il modello di questo messaggio XML in MRM utilizzando i seguenti oggetti:
La proprietà Tipo è impostata su tMess1.
La proprietà Composizione è impostata su OrderedSet.
Il tipo complesso ha contenuto misto.
Il tipo complesso contiene i seguenti oggetti:
La proprietà Tipo è impostata sul tipo semplice xsd:string.
La proprietà Tipo è impostata sul tipo semplice xsd:string.
La proprietà Tipo è impostata sul tipo semplice xsd:string.
Se si codifica il seguente 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];
la mappatura del contenuto misto al seguente messaggio di output ha esito positivo:
<MRM> <Mess1> pqr <Elem1>mno</Elem1> jkl <Elem2>ghi</Elem2> def <Elem3>abc</Elem3> </Mess1> </MRM>