Acceso a elementos de grupos en un mensaje del dominio de MRM

Al analizar un mensaje de entrada, las estructuras definidas como grupos en este conjunto de mensajes no se representan en el árbol lógico, aunque sí sus dependientes. Si desea consultar o actualizar valores para elementos que son dependientes de un grupo, no incluya el grupo en la sentencia ESQL. Los grupos no tienen códigos que aparecen en mensajes de instancias y no aparecen en el rastreo de usuario del árbol de mensajes lógicos.

Suponga el siguiente mensaje de vídeo:

<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>

Al analizar el mensaje de entrada, los valores se almacenan en el árbol lógico como se muestra en la siguiente sección del rastreo de usuario:

(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

Inmediatamente después del ID del elemento, la definición de mensaje MRM utiliza un grupo que tiene una Composición de tipo Choice. El grupo se define con tres elementos dependientes: PassportNo, DrivingLicenceNo y CreditCardNo. La composición de la elección indica que los documentos de la instancia sólo deben utilizar una de estas tres alternativas posibles. El ejemplo anterior utiliza el elemento PassportNo.

Cuando se hace referencia a este elemento en las sentencias ESQL, no se especifica el grupo al que pertenece el elemento. Por ejemplo:

SET OutputRoot.MRM.PassportNo = 'J999999TT';

Si define mensajes dentro de conjuntos de mensajes que incluyen formatos físicos XML y TDS, puede determinar a partir de los datos de mensajes qué opción se ha seleccionado, porque los códigos del mensaje representan una de las opciones. Sin embargo, si los mensajes tienen formato físico CWF o son mensajes TDS sin códigos, no es obvio a partir de los datos del mensaje y los programas de aplicación que procesan el mensaje deben determinar qué opción se ha seleccionado. Esto es conocido como manejo de elección sin resolver. Si desea más información, consulte la descripción del valor de Choice en Propiedades lógicas de tipo complejo.

Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes

Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensajes

Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL