Acceder a elementos dentro de grupos en un mensaje del dominio MRM

Cuando se analiza un mensaje de entrada, las estructuras definidas por el usuario como grupos en el conjunto de mensajes no se representan en el árbol lógico, pero sus hijos sí. Si desea hacer referencia o actualizar elementos que sean hijos de grupos, no incluya el grupo en la sentencia ESQL. Los grupos no tienen códigos que aparezcan en mensajes de instancias y no aparecen en el rastreo de usuario del árbol lógico de mensaje.

Vea el siguiente mensaje 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>

Cuando se analiza el mensaje de entrada, los valores se almacenan en el árbol lógico como se muestra en la siguiente sección de 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 de elemento nombrado, la definición de mensaje MRM utiliza un grupo que tenga una Composición de Choice. El grupo se define con tres hijos: PassportNo, DrivingLicenceNo y CreditCardNo. La composición de elección (choice) indica que los documentos de la instancia sólo deben utilizar una de estas tres alternativas posibles. En el ejemplo de arriba se utiliza el elemento PassportNo.

Cuando se hace referencia a ese elemento en 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 incluyan formatos físicos XML y TDS, podrá determinar a partir de los datos del mensaje qué opción se ha tomado de una elección, puesto que los códigos del mensaje representan una de las opciones de la elección. Sin embargo, si los mensajes tienen el formato físico CWF o son mensajes TDS sin código, esto no quedará claro en los datos del mensaje y los programas de aplicación que procesan el mensaje deberán determinar qué opción de la elección se ha seleccionado. Esto se llama manejo de elecciones no resueltas. Si desea más información, consulte la descripción del valor de Choice en el apartado Propiedades lógicas de tipo complejo.

Conceptos relacionados
Visión general de flujos de mensajes
Visión general de ESQL
Modelado de mensajes
Tareas relacionadas
Diseñar un flujo de mensajes
Definir el contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensaje
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
Referencia de ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac06040_