Acessando os Atributos em uma Mensagem no Domínio MRM

Quando uma mensagem MRM é analisada em uma árvore lógica, os atributos e os dados que ela contém são criados como pares de nome-valor exatamente da mesma forma como são criados elementos MRM. Isso significa que o ESQL codificado para interrogar e atualizar os dados contidos em atributos faz referência aos atributos de maneira semelhante.

Considere a mensagem MRM da amostra Video. O atributo LastName é definido como um filho do elemento Nome na mensagem Customer. A seguir está uma mensagem XML de entrada de exemplo:
<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 a mensagem de entrada é analisada, os valores são armazenados na árvore lógica, conforme mostrado na seguinte seção de rastreio do usuário:
(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
O seguinte ESQL altera o valor do atributo LastName na mensagem de saída:
SET OutputRoot.MRM.Name.LastName = 'Smith';

Você deve estar ciente da ordenação de atributos quando codificar o ESQL. Quando os atributos são analisados, a árvore lógica insere o nome-valor correspondentes antes dos elementos filhos do elemento MRM. No exemplo anterior, os elementos filhos Title e FirstName aparecem na árvore de mensagem lógica após o atributo LastName. Na , a visualização Contorno mostra atributos após os elementos. Ao codificar o ESQL para construir mensagens de saída, é necessário definir pares de nome-valor para atributos antes de quaisquer elementos filhos.

Conceitos relacionados
Fluxos de Mensagem
ESQL
Modelagem de Mensagens

Tarefas relacionadas
Projetando um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Gerenciando Arquivos ESQL
Desenvolvendo Modelos de Mensagens

Referências relacionadas
Nó Compute
Nó Database
Nó Filter
ESQL