Accesso agli attributi in un messaggio nel dominio MRM

Quando un messaggio MRM è analizzato in una struttura ad albero logica, gli attributi e i dati che essi contengono sono creati come coppie nome-valore allo stesso modo degli elementi MRM. Questo significa che l'ESQL codificato per interrogare e aggiornare i dati contenuti negli attributi fa riferimento agli attributi in modo simile.

Prendere in considerazione il messaggio MRM dell'esempio Video. L'attributo LastName è definito come child dell'elemento Name nel messaggio relativo al cliente. Segue un esempio di messaggio XML di input:
<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
Il seguente ESQL modifica il valore dell'attributo LastName nel messaggio di output:
SET OutputRoot.MRM.Name.LastName = 'Smith';

Fare attenzione all'ordine degli attributi quando si codifica l'ESQL. Quando gli attributi sono analizzati, la struttura ad albero logica inserisce il nome-valore corrispondente prima degli elementi child dell'elemento MRM. Nell'esempio precedente, gli elementi child Title e FirstName compaiono nella struttura ad albero logica del messaggio dopo l'attributo LastName. Nella Prospettiva Sviluppo dell'applicazione broker, la vista Profilo visualizza gli attributi dopo gli elementi. Quando si codifica l'ESQL per creare i messaggi di output, è necessario definire le coppie nome-valore per gli attributi prima di qualsiasi elemento child.

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
ac17380_