Accesso agli elementi all'interno di gruppi in un messaggio nel dominio MRM

Quando viene analizzato un messaggio di input, le strutture definite come gruppi nella serie di messaggi non sono rappresentate nella struttura ad albero logica, ma lo sono i child. Se si desidera fare riferimento o aggiornare i valori per gli elementi child di un gruppo, non includere il gruppo nell'istruzione ESQL. I gruppi non hanno tag che compaiono nel messaggi di istanza e non compaiono nella traccia utente della struttura ad albero logica del messaggio.

Prendere in considerazione il seguente messaggio Video:

<Customer xmlns:addr="http://www.ibm.com/AddressDetails" 
xmlns:brw="http://www.ibm.com/BorrowedDetails">
		 <Name LastName="Bloggs">
		 		 <Title>Mr</Title>
		 		 <FirstName>Fred</FirstName>
		 </Name>
		 <addr:Address>
		 		 <HouseNo>13</HouseNo>
		 		 <Street>Oak Street</Street>
		 		 <Town>Southampton</Town>
		 </addr:Address>
             <ID>P</ID>
		 <PassportNo>J123456TT</PassportNo>
		 <brw:Borrowed>
		 		 <VideoTitle>Fast Cars</VideoTitle>
		 		 <DueDate>2003-05-23T01:00:00</DueDate>
		 		 <Cost>3.50</Cost>
		 </brw:Borrowed>
		 <brw:Borrowed>
		 		 <VideoTitle>Cut To The Chase</VideoTitle>
		 		 <DueDate>2003-05-23T01:00:00</DueDate>
		 		 <Cost>3.00</Cost>
		 </brw:Borrowed>
		 <Magazine>0</Magazine>
</Customer>

Quando viene analizzato il messaggio di input, i valori sono memorizzati nella struttura ad albero logica come mostrato nella seguente sezione della traccia utente:

(0x0100001B):MRM = (
  (0x01000013):Name = (
    (0x0300000B):LastName = 'Bloggs'
    (0x0300000B):Title = 'Mr'
    (0x0300000B):FirstName = 'Fred'
  )
  (0x01000013)http://www.ibm.com/AddressDetails:Address = (
    (0x0300000B):HouseNo = 13
    (0x0300000B):Street = 'Oak Street'
    (0x0300000B):Town = 'Southampton'
  )
  (0x0300000B):ID = 'P'
  (0x0300000B):PassportNo = 'J123456TT'
  (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
    (0x0300000B):VideoTitle = 'Fast Cars'
    (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
    (0x0300000B):Cost = 3.50
  )
  (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
    (0x0300000B):VideoTitle = 'Cut To The Chase '
    (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
    (0x0300000B):Cost = 3.00
  )
  (0x0300000B):Magazine = FALSE

Immediatamente dopo l'elemento denominato ID, la definizione del messaggio MRM utilizza un gruppo che ha una Composizione di Scelta. Il gruppo è definito con tre child: PassportNo, DrivingLicenceNo e CreditCardNo. La composizione di scelta ordina che i documenti dell'istanza utilizzino solo una di queste tre possibili alternative. L'esempio mostrato sopra utilizza l'elemento PassportNo.

Quando si fa riferimento a questo elemento nelle istruzioni ESQL, non specificare il gruppo a cui appartiene l'elemento. Ad esempio:

SET OutputRoot.MRM.PassportNo = 'J999999TT';

Se si definiscono i messaggi all'interno delle serie di messaggi che includono i formati fisici XML e TDS, è possibile stabilire dai dati del messaggio quale opzione di una scelta è stata selezionata, poiché le tag nel messaggio rappresentano una delle opzioni della scelta. Tuttavia, se i messaggi hanno il formato fisico CWF o sono messaggi TDS senza tag, questo non è chiaro dai dati del messaggio e sono i programmi applicativi che elaborano il messaggio che devono stabilire quale opzione della scelta è stata selezionata. Questa procedura è nota come gestione scelta non risolta. Per ulteriori informazioni, consultare la descrizione del valore di Scelta nelle Proprietà logiche del tipo complesso.

Concetti correlati
Panoramica dei flussi di messaggi
Panoramica di ESQL
Creazione di modelli di messaggio
Attività correlate
Progettazione di un flusso di messaggi
Definizione del contenuto del flusso di messaggi
Gestione dei file ESQL
Sviluppo di modelli di messaggio
Riferimenti correlati
Nodo Compute
Nodo Database
Nodo Filter
Riferimento ESQL
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac06040_