Importar funciones XSLT personales
Puede ampliar las bibliotecas de funciones XSLT 1.0, 2.0 y 3.0 de MapForce con sus propias funciones personales, siempre y cuando estas devuelvan tipos simples.
Solamente se admiten funciones personales que devuelvan tipos simples (p. ej. cadenas). |
Para importar funciones de un archivo XSLT:
1.Haga clic en el botón Agregar o quitar bibliotecas, en la parte inferior de la ventana Bibliotecas. Se abre la ventana Gestionar bibliotecas.
2.Para importar funciones como biblioteca local (dentro del archivo de asignación actual solamente), haga clic en Agregar bajo el nombre de la asignación activa. Para importar funciones como biblioteca global (a nivel de programa), haga clic en Agregar, junto a Bibliotecas globales importadas. Cuando se importa una biblioteca de forma local, puede hacer que la ruta de acceso al archivo de la biblioteca sea relativa al archivo de asignación. Con las bibliotecas globales la ruta siempre es absoluta.
3.Navegue hasta el archivo .xsl que contiene las funciones y haga clic en Abrir. Aparece un cuadro de mensaje que le informa de que se ha añadido una biblioteca nueva.
Los archivos XSLT importados aparecen como bibliotecas en la ventana Bibliotecas y muestran todas las plantillas con nombres como si fueran funciones. Si no puede ver la biblioteca importada, compruebe que el lenguaje de transformación seleccionado es XSLT (véase también Gestionar bibliotecas de funciones).
Importante:
•Para poder importarlas en MapForce las funciones deben declararse en el archivo XSLT como plantillas con nombre según lo estipulado por la especificación XSLT. También puede importar funciones que aparezcan en un documento XSLT 2.0 con el formato <xsl:function name="MiFunción">. Si el archivo XSLT importado importa o incluye otros archivos XSLT, también se importarán dichos archivos y sus funciones.
•Los conectores de entrada asignables de las funciones importadas personales dependen del número de parámetros utilizado en la llamada a plantilla. También se admiten parámetros opcionales.
•No se admiten espacios de nombres.
•Si realiza cambios en archivos XSLT que ya están importados en MapForce, los cambios se detectan automáticamente y puede elegir si los archivos se vuelven a cargar.
•Cuando escriba plantillas con nombre, asegúrese de que las instrucciones XPath utilizadas en la plantilla están enlazadas al espacio de nombres correcto. Para ver los enlaces de espacio de nombres de la asignación genere una vista previa del código XSLT de salida.
Tipos de datos en XPath 2.0
Si el documento XML hace referencia a un esquema XML y es válido según este esquema, deberá convertir o construir explícitamente tipos de datos que no se conviertan implícitamente al tipo de datos necesario por medio de una operación.
En el modelo de datos de XPath 2.0 que utiliza el motor XSLT 2.0 de Altova todos los valores de nodos atomizados del documento XML tienen asignado el tipo de datos xs:untypedAtomic. El tipo xs:untypedAtomic es adecuado para las conversiones de tipo implícitas.
Por ejemplo:
•la expresión xs:untypedAtomic("1") + 1 da como resultado un valor de 2 porque el valor xdt:untypedAtomic se convierte implícitamente en xs:double por medio del operador de suma.
•los operadores aritméticos convierten los operandos implícitamente en xs:double.
•los operadores de comparación de valores convierten los operandos en xs:string antes de compararlos.
Temas relacionados:
Ejemplo: agregar funciones XSLT 1.0 personales
Ejemplo: sumar valores de nodos