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 Perspectiva do Desenvolvimento de Aplicativos do Intermediário, 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
Visão Geral de Fluxos de Mensagens
Visão Geral do 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
Referência de ESQL
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac17380_