Origem (Mensagem) | Destino (Mensagem) |
cliente
|
cliente
customername[1]
customername[2]
|
As origens e os destinos são mapeados utilizando nós de árvore que são representações de um tipo de esquema, incluindo o tipo de mensagem ou uma tabela ou coluna de banco de dados. Um nó de árvore é, portanto, um contêiner para o tipo específico de mensagem.
É possível ocupar um nó de repetição para mostrar todas as instâncias. Um comando de menu Ocupar permite fazer isso. Uma instância (na realidade, um nó de elemento de instância), é uma ocorrência única de um elemento de repetição. Por exemplo, se um campo tiver 10 ocorrências, cada uma delas poderá ser considerada como um nó de elemento de instância. Isso não é equivalente à instância de tempo de execução recebida em uma mensagem real. Em vez disso, consiste em um sinalizador de substituição no caso de ocorrência dessa instância de elemento na mensagem (o termo instância, neste contexto, refere-se a uma instância de tempo de desenvolvimento, não uma instância de tempo de execução).
As instâncias são produzidas no mesmo nível que um nó repetível e são irmãs (filhas) deste. Elas representam a estrutura do nó e recebem entidades que podem ser mapeadas exclusivamente para a instância requerida. Cada novo irmão recebe um sufixo com o número do índice da instância atual.
O índice tem base 1 para ESQL ao invés de base 0 como em Java.
Como um exemplo, considere a seguinte estrutura:
mensagem1 |_ top |_ middle |_bottom
em que middle e bottom são repetíveis; e middle se repete n1..m1 vezes e bottom se repete n2..m2 vezes
Cada nó de instância expandido pode ser utilizado em um mapa exatamente como qualquer outro elemento não-repetível (pois esse nó não é repetível). Contudo, ele pode conter filhos que são repetíveis no caso de níveis de repetições aninhados. Não é possível expandir significativamente o primeiro nível de uma estrutura aninhada (conforme mostrado no exemplo anterior), quando os níveis internos não estão expandidos. Isso significa que os filhos sob ela são expandidos para o número mínimo de instâncias que aqueles nós repetíveis aninhados requerem. No exemplo, isso significa que uma expansão mínima requerida para middle resulta na criação da instância n1, mas os filhos de middle não são um único conjunto com apenas um bottom. O número mínimo de 'ocorrências' dessa instância determina o número de repetições.
O exemplo a seguir mostra um nó de árvore completo expandido parcialmente.
message1 |_ top |_ middle[] |_bottom[] |_ middle[1] |_bottom[] |_bottom[All] |_bottom[1]
Nesse exemplo, uma entrada seguida por [] é um nó repetível, uma entrada seguida por [All] é um nó all e uma entrada seguida por [1] é um nó de elemento de instância.