auto-number
La función auto-number genera enteros en una secuencia (por ejemplo, 1, 2, 3, 4...). Puede usar parámetros para configurar el entero de inicio, el valor incremental y otras opciones.
El orden exacto en el que la asignación llama a las funciones es indefinido. Puede que MapForce necesite guardar en la memoria caché los resultados calculados para volver a utilizarlos o evaluar las expresiones en cualquier orden. Al contrario que otras funciones, la función auto-number devuelve un resultado distinto si se la llama varias veces con los mismos parámetros de entrada. Por lo tanto, recomendamos que use esta función con cuidado. En algunos casos se puede conseguir el mismo resultado utilizando la función position en lugar de auto-number. |
Lenguajes
Built-in, C++, C#, Java, XQuery#, XSLT 1.0 y, XSLT 1.0, XSLT 2.0, XSLT 3.0.
Parámetros
Argumento | Descripción |
---|---|
global-id | Parámetro opcional. Si un diseño de asignación contiene varias funciones auto-number, estas generarán secuencias con números duplicados (solapados). Para que todas las funciones auto-number sean conscientes unas de otras y no generen secuencias que se solapen, debe conectar una cadena común (por ejemplo, una constante) a la entrada global-id de cada función auto-number. |
start-with | Parámetro opcional. Indica el entero con el que empieza la secuencia que se genera. El valor predeterminado es 1. |
increment | Parámetro opcional. Indica el valor incremental. El valor predeterminado es 1. |
restart-on-change | Parámetro opcional. Restablece el contador a start-with cuando cambia el contenido del elemento conectado. |
Ejemplo
Esta asignación es una variación de la asignación ParentContext.mfd Ejemplo: Cambiar el contexto primario.
El objetivo de la asignación siguiente es generar varios archivos XML, uno por cada departamento del archivo XML de origen. Hay varios departamentos con el mismo nombre (esto se debe a que pertenecen a distintas oficinas centrales). Por este motivo, cada nombre de archivo que se genere debe empezar por un número secuencial, por ejemplo 1-Administration.xml, 2-Marketing.xml, etc.
Para conseguir el objetivo de la asignación se usó la función auto-number. El resultado de esta función se concatena con un guion seguido por el nombre del departamento, seguido por la cadena ".xml" para crear el nombre único del archivo generado. Es importante que se aplique un contexto de prioridad al tercer parámetro de la función concat nombre del departamento). Esto sirve para llamar a la función auto-number en el contexto de cada departamento y produce los valores secuenciales necesarios. Sin ese contexto de prioridad, la función auto-number seguiría generando el número number 1 y, en consecuencia, se generarían también nombres de archivo duplicados.