É possível usar código ESQL específico para configurar o valor de uma ocorrência de um elemento que tenha múltiplas ocorrências em uma mensagem. Também é possível usar a notação de seta para indicar a direção da procura ao procurar múltiplas ocorrências de um elemento.
É possível acessar elementos do domínio DFDL seguindo a orientação geral fornecida em Acessando Várias Ocorrências Conhecidas de um Elemento e Acessando Várias Ocorrências Desconhecidas de um Elemento. Informações adicionais específicas a mensagens no domínio DFDL são fornecidas neste tópico.
Considere as seguintes instruções:
SET OutputRoot.DFDL.MyMessage.Loaned[1].Currency = 'GBP';
SET OutputRoot.DFDL.MyMessage.Loaned[2].Currency = 'USD';
As instruções SET acima operam em duas ocorrências do elemento Loaned. Cada instrução define o valor do filho Currency. O índice da matriz indica qual ocorrência do elemento de repetição é de seu interesse.
Ao definir elementos filhos de um tipo complexo em um conjunto de mensagens, é possível incluir o mesmo elemento no tipo complexo mais de uma vez. Essas instâncias não precisam ser contíguas, mas você deve utilizar o mesmo método (notação de matriz) para referir-se a elas no ESQL.
use o seguinte ESQL para configurar o valor de StringElement1:
SET OutputRoot.DFDL.MyMessage.StringElement1[1] =
'This is the first occurrence of StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[2] =
'This is the second occurrence of StringElement1';
Também é possível utilizar a notação de seta (símbolos de maior que (>) e menor que (<)) para indicar a direção de procura e o índice a ser especificado:
SET OutputRoot.DFDL.MyMessage.StringElement1[>] =
'This is the first occurrence of StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[<2] =
'This is the last but one occurrence of
StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[<1] =
'This is the last occurrence of StringElement1';
Consulte Acessando Várias Ocorrências Conhecidas de um Elemento e Acessando Várias Ocorrências Desconhecidas de um Elemento para obter detalhes adicionais.