Reglas y estrategias básicas
Por lo general, MapForce asigna los datos de manera intuitiva, pero puede que encuentre situaciones en las que los resultados contengan demasiados o demasiados pocos elementos. Este apartado describe las principales reglas de asignación de datos y le ayuda a evitar situaciones en las que la asignación produce un resultado no deseado debido a conexiones o contextos incorrectos.
Para ser válida, una asignación de datos debe incluir al menos un componente de entrada conectado con al menos un componente de destino. Un componente de entrada lee datos, normalmente de un archivo o de una base de datos. Un componente de destino escribe datos, normalmente en un archivo o en una base de datos.
Todas las conexiones de asignación que trace conforman el algoritmo de asignación. En el momento de la ejecución, MapForce evalúa el algoritmo y procesa los datos basándose en él. La integridad y eficiencia del algoritmo de asignación depende principalmente de estas conexiones. También puede adaptar algunas opciones a nivel de asignación, de componente o incluso de conexión, pero son las conexiones de la asignación las que determinan cómo se procesan los datos.
Reglas de asignación
Este subapartado describe las principales normas de procesamiento de datos. Para illustrar las reglas, utilizaremos la asignación de datos que se muestra a continuación.
Regla 1
Por cada elemento de origen, se crea un elemento en el destino. Esta es la principal regla de asignación de datos en MapForce. En la asignación anterior, si el XML de origen contiene tres elementos book, entonces se crean tres elementos publication en el lado de destino. Tenga en cuenta que también existen algunos casos especiales (véase Secuencias).
Regla 2
MapForce siempre inicia el procesamiento desde el (nodo) elemento raíz de destino. Aquí es donde comienza realmente la ejecución de una asignación de datos. Tras procesar el nodo de destino, MapForce avanza por la jerarquía.
Regla 3
Cada conexión crea el contexto actual de asignación. El contexto determina qué datos están disponibles para el nodo de destino actual y sus descendientes. El contexto, por tanto, determina qué elementos de origen se copian realmente del componente de origen al de destino. Al trazar u omitir una conexión puede cambiar el contexto actual sin querer, lo que afectaría al resultado de la asignación. Por ejemplo, puede que la asignación en la que está trabajando haga varias llamadas innecesarias a una BD o a un servicio web dentro de la misma ejecución de la asignación. Este concepto se describe con más detalle en el apartado Contexto y orden de procesamiento.
Regla 4
Cuando se traza una conexión desde un elemento de origen a un elemento de destino, la asignación lee los datos de ese elemento de origen, pasa los datos al elemento de destino y genera datos de instancia en el formato de destino.
El elemento de origen puede aparecer cero, una o múltiples veces en el archivo de instancia de origen. Independientemente del número de apariciones, MapForce siempre muestra únicamente jerarquías de esquemas en los componentes estructurales (por ejemplo, XML). Esa es la razón por la que, por ejemplo, el componente de origen de la asignación anterior solo tiene un elemento book.