Tengo dos archivos XSL: "one.xsl" y "two.xsl"Cómo utilizar una función de un XSL en otro
one.xsl:
<xsl:function name="x:trans" as="xs:string">
<xsl:param name="str"></xsl:param>
<xsl:variable name="res1" select="x:translate_string($str)"/>
<xsl:sequence select="$res1"/>
</xsl:function>
</xsl:stylesheet>
quiero usar función "x: trans" en "one.xsl"
¿Cómo hago referencia a la función de otro archivo?
El problema es que cuando intento llamar a esta función de esta manera:
< xsl:value-of select="x:trans('Hello World')"/>
me sale el siguiente mensaje de error del navegador:
Referencia a prefijo de espacio de nombres no declarado: 'x '
Si ha importado o incluido "one.xsl", también deberá declarar el espacio de nombres "x" en "two.xsl" si desea usarlo. –
Además, menciona que el mensaje de las funciones * browser * ... custom ** es una función XSLT 2.0 **. Actualmente, no hay navegadores compatibles con XSLT 2.0. Si desea que los navegadores ejecuten su XSLT, necesitará una solución * XSLT 1.0 *. –
Buena pregunta (+1). Vea mi respuesta para una explicación completa, paso a paso, de cómo llamar a 'xsl: function'. –