WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Mapeamento entre uma Lista e um Elemento de Repetição

Esta tarefa mostra como fazer um mapeamento entre uma lista e um elemento de repetição.

Considere o formato da seguinte mensagem de entrada XML:
   <MRM>
     <inner>abcde fghij 12345</inner>
   </MRM> 
em que o elemento interno é de tipo xsd:list, e, portanto, possui três valores de cadeia associados, em vez de um único valor.
Para copiar três valores para uma mensagem de saída, na qual cada valor está associado a uma instância de elementos de repetição, conforme mostrado aqui:
   <MRM>
     <str1>abcde</str1>
     <str1>fghij</str1>
     <str1>12345</str1>
   </MRM> 
você pode esperar que a seguinte sintaxe ESQL funcione:
   DECLARE D INTEGER;
   SET D = CARDINALITY(InputBody.str1.*[]);
   DECLARE M INTEGER 1;
   WHILE M <= D DO
      SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M];
      SET M = M + 1;
   END WHILE;
No entanto, a instrução:
	SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M];
solicita uma cópia da árvore da entrada para a saída. Como o elemento de saída ainda não existe, a instrução o cria e seu valor e tipo são configurados a partir da entrada.
Portanto, para criar a mensagem de saída com o formato necessário, dado um elemento de entrada do tipo xsd:list, use a Função FIELDVALUE para recuperar explicitamente apenas o valor do elemento de entrada:
	SET OutputRoot.MRM.str1[M] = FIELDVALUE(InputBody.inner.*[M]);
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:01


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ak20820_