MapForce ofrece acceso dinámico a los nombres de los nodos
Existen situaciones, especialmente cuando se trabaja con datos de estructura poco definida, en las que puede ser necesario mapear y transformar los componentes estructurales de un flujo de datos junto con su contenido. MapForce puede acceder dinámicamente a los nombres de los nodos de los elementos XML, a los atributos o a las columnas de archivos de texto, como el contenido de los archivos CSV, para así dirigir estos elementos a componentes específicos.
El acceso dinámico a los nombres de los nodos permite la creación inmediata de elementos y atributos de destino, cuyos nombres no es necesario conocer de antemano ni identificar específicamente en el mapeo de datos. Esta función permite crear mapeos mucho más genéricos, flexibles y reutilizables, que requieren menos intervención manual en caso de que los modelos de datos evolucionen.

Aquí hay un ejemplo de un estilo muy común de archivo CSV en el que los campos de datos no se identifican mediante nombres de columna, sino mediante etiquetas que se encuentran en una celda adyacente dentro de la misma fila:

Los registros de este ejemplo no están estructurados de manera consistente, ya que uno de ellos incluye un sufijo después del apellido, mientras que otro incluye la inicial del segundo nombre.
Una necesidad común en la conversión de datos para archivos como este es mapear las celdas de la columna A como nombres de elementos XML y las celdas de la columna B como los valores correspondientes a cada elemento. Esto ahora se puede lograr fácilmente mediante el mapeo dinámico de nombres de nodos. Veamos cómo se hace.
Acceso dinámico a los nombres de los elementos XML
Comenzaremos creando un esquema XML muy sencillo para el destino de la transformación, que utiliza el elemento <xs:any> para definir un elemento

Comenzamos el proceso de mapeo importando el archivo CSV y utilizando una función de agrupación que creará un nuevo elemento

A continuación, insertamos el esquema XML correspondiente y hacemos clic derecho sobre el elemento

Seleccionaremos la opción "Mostrar elementos secundarios con nombre dinámico", lo que abrirá un diálogo donde podremos elegir el tipo de datos para los elementos secundarios. Esto mostrará el nombre del nodo y el contenido de los elementos secundarios de

Ahora, es un proceso sencillo mapear los datos del campo 1 (la columna A del archivo CSV) a los nombres de los nodos de los elementos secundarios, y del campo 2 (la columna B) al contenido de los elementos. Aquí está el mapeo de datos final:

La función "group-starting-with" ubicada en la parte superior crea un nuevo elemento "
El resultado de la correspondencia anterior se presenta de la siguiente manera:

La ventaja de utilizar un mapeo de datos que emplea un acceso dinámico a los nombres de los nodos es que no es necesario realizar un análisis exhaustivo de los datos de entrada para identificar y mapear cada posible nombre de elemento.
Consideremos un escenario de producción común en el que se reciben múltiples archivos de entrada de una o varias fuentes externas, y se automatiza la ejecución de las transformaciones con MapForce Server y FlowForce Server. Si un archivo de entrada contiene de repente un elemento secundario inesperado, como por ejemplo "OfficeLocation" o "MailStop", los datos no se perderán.
Acceso dinámico a los nombres de los nodos de los atributos XML
También puede asignar dinámicamente los nombres de los atributos XML, con la misma capacidad de crear elementos y atributos de destino de forma instantánea, sin necesidad de identificarlos todos de antemano.