Nei rilasci precedenti, era possibile integrare un tipo semplice in un tipo composto nel modello del messaggio. Questo consentiva la creazione del modello del testo anonimo presente tra le tag XML. Ci si riferisce a questi tipi semplici come tipi semplici integrati per distinguerli dai tipi semplici dello schema XML. Questo argomento si applica solo se si gestiscono messaggi di cui è stato creato il modello in un rilascio precedente e che sono stati importati utilizzando il Comando mqsimigratemsgsets.
Quando un messaggio MRM viene analizzato in una struttura ad albero logica, i tipi semplici integrati non hanno un identificativo che li definisca in modo univoco in ESQL. Se si desidera interrogare o aggiornare i dati contenuti in un tipo semplice integrato, è necessario fare riferimento ad esso in relazione ad altri oggetti conosciuti nel messaggio.
Ad esempio, se si desidera aggiornare il tipo semplice integrato con il testo Mr. Smith, includere il seguente ESQL nel nodo Compute:
SET OutputRoot.MRM.Person.*[3] = 'Mr.Smith';
Questa istruzione imposta il terzo child dell'elemento Person su Mr.Smith. Poiché questa istruzione è rivolta ad un elemento anonimo nella struttura ad albero (un tipo semplice integrato che non ha nome), è possibile impostarne il valore solo se la sua posizione nell'albero è nota.
Prendere in considerazione il seguente messaggio XML MRM:
<Mess1> <Elem1>abc</Elem1> <Elem2>def<Child1>ghi</Child1></Elem2> </Mess1>
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 Serie ordinata.
Il tipo complesso contiene i seguenti oggetti:
La proprietà Tipo è impostata sul tipo semplice dello schema XML xsd:string.
La proprietà Tipo è impostata sul tipo complesso tElem2.
La proprietà Composizione è impostata su Sequenza.
Il tipo complesso contiene i seguenti oggetti:
La proprietà Tipo è impostata sul tipo semplice dello schema XML xsd:string.
Il tipo semplice integrato ComIbmMRM_BaseValueString che è inserito all'interno di tMess2, viene utilizzato per analizzare la definizione dei dati dal messaggio di input. Se si desidera modificare il valore dei dati associati al tipo semplice integrato nell'output, codificare il seguente ESQL:
SET OutputRoot.MRM.Elem2.*[1] = 'xyz';
Si genera il seguente messaggio di output:
<Mess1> <Elem1>abc</Elem1> <Elem2>xyz<Child1>ghi</Child1></Elem2> </Mess1>
Se si preferisce non creare un modello per questo messaggio in MRM, si può ottenere lo stesso risultato con il seguente ESQL:
SET OutputRoot.XML.Elem2.*[1] = 'xyz';
Un tipo semplice integrato non ha le funzioni per la gestione del valore null che è fornita con gli elementi. Se si imposta un tipo semplice integrato su null, questo è eliminato dalla struttura ad albero del messaggio.
In ESQL, i nomi degli elementi sono utilizzati, in genere, per fare riferimento agli elementi MRM ed aggiornarli. L'eccezione si ha quando nel messaggio sono presenti i tipi semplici integrati. Se si stanno utilizzando i messaggi multipart, è necessario specificare il nome del messaggio per qualificare ulteriormente i riferimenti al tipo semplice integrato se il messaggio non è il primo oggetto del messaggio nel flusso di bit. Accesso ai messaggi integrati nel dominio MRM fornisce ulteriori informazioni.