O MapForce oferece acesso dinâmico aos nomes dos nós
Existem situações, especialmente quando se trabalha com dados pouco estruturados, em que pode ser necessário mapear e transformar componentes estruturais de um fluxo de dados, juntamente com o conteúdo. O MapForce pode aceder dinamicamente aos nomes dos nós de elementos XML, atributos ou colunas de ficheiros de texto, como o conteúdo de ficheiros CSV, para direcionar esses componentes.
O acesso dinâmico aos nomes dos nós permite a criação imediata de elementos e atributos cujo nome não precisa ser conhecido previamente ou identificado especificamente no.. mapeamento de dados. Esta funcionalidade permite criar mapeamentos muito mais genéricos, flexíveis e reutilizáveis, que exigem menos intervenção manual caso os modelos de dados evoluam.

Aqui está um exemplo de um estilo muito comum de ficheiro CSV, onde os campos de dados não são identificados por nomes de coluna, mas sim por etiquetas numa célula adjacente, dentro da mesma linha:

Os registos neste exemplo não são sequer estruturados de forma consistente, uma vez que um registo inclui um sufixo após o apelido e outro registo inclui a inicial do nome do meio.
Uma necessidade comum na conversão de ficheiros como este é mapear as células da coluna A como nomes de elementos XML e as células da coluna B como os valores correspondentes a cada elemento. Atualmente, isso pode ser feito facilmente com o mapeamento dinâmico de nomes de nós. Vamos analisar como isso é feito.
Acesso dinâmico aos nomes dos elementos XML
Começaremos por criar um esquema XML muito simples para o alvo de mapeamento, que utiliza o elemento <xs:any> para definir um elemento

Começamos o mapeamento importando o ficheiro CSV e utilizando uma função de agrupamento que irá criar um novo elemento

Em seguida, inserimos o esquema XML correspondente e clicamos com o botão direito no elemento

Selecionaremos a opção "Mostrar elementos filhos com nome dinâmico", que abrirá uma janela de diálogo onde poderemos escolher o tipo de dados para os elementos filhos. Isto irá exibir o nome do nó e o conteúdo dos elementos filhos de

Agora, é um processo simples mapear os dados do Campo 1 (coluna A do ficheiro CSV) para os nomes dos elementos filhos e do Campo 2 (coluna B) para o conteúdo dos elementos. Aqui está o mapeamento final dos dados:

A função "group-starting-with", localizada no topo, cria um novo elemento
O resultado da correspondência acima é o seguinte:

A vantagem de um mapeamento de dados que utiliza acesso dinâmico aos nomes dos nós é que não é necessário realizar uma análise completa dos dados de entrada para identificar e mapear todos os possíveis nomes de elementos.
Considere um cenário de produção comum em que recebe vários ficheiros de entrada de uma ou mais fontes externas e automatiza a execução de mapeamentos com o MapForce Server e o FlowForce Server. Se um ficheiro de entrada contiver, de repente, um elemento filho inesperado – por exemplo, "OfficeLocation" ou "MailStop" – os dados não serão perdidos.
Acesso dinâmico aos nomes dos nós dos atributos XML
Também é possível mapear dinamicamente os nomes dos atributos XML, com a mesma capacidade de criar elementos e atributos de destino "em tempo real", sem necessariamente identificá-los todos antecipadamente.