Acessando Elementos Dentro de Grupos em uma Mensagem no Domínio MRM

Quando uma mensagem de entrada é analisada, as estruturas definidas como grupos em seu conjunto de mensagens não são representadas na árvore lógica, mas seus filhos são. Se desejar referir-se a ou atualizar valores para elementos que são filhos de um grupo, não inclua o grupo na instrução ESQL. Os grupos não possuem marcações que aparecem nas mensagens de instância e não aparecem no rastreio do usuário da árvore de mensagem lógica.

Considere a seguinte mensagem 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 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

Imediatamente após o elemento denominado ID, a definição da mensagem MRM utiliza um grupo que possui uma Composição de Opção. O grupo é definido com três filhos: PassportNo, DrivingLicenceNo e CreditCardNo. A opção de composição estabelece que os documentos da instância devem utilizar apenas uma dessas três possíveis alternativas. O exemplo mostrado acima utiliza o elemento PassportNo.

Quando referir-se a este elemento em instruções ESQL, não especifique o grupo ao qual o elemento pertence. Por exemplo:

SET OutputRoot.MRM.PassportNo = 'J999999TT';

Se você definir mensagens em conjuntos de mensagens que incluem formatos físicos XML e TDS, poderá determinar a partir dos dados da mensagem qual opção de uma opção foi utilizada, porque as marcações na mensagem representam uma das opções da opção. No entanto, se suas mensagens tiverem formato físico CWF, ou forem mensagens TDS sem tag, isto não ficará evidente nos dados da mensagem e os programas aplicativos que processam a mensagem devem determinar qual opção da opção foi selecionada. Isso é conhecido como tratamento de opções não resolvido.Para obter informações adicionais, consulte a descrição do valor de Opção em Propriedades Lógicas de Tipo Complexo.

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
ac06040_