Estoy ejecutando una transformación XSLT desde dentro de mi aplicación web Java sin problemas, de la siguiente manera:Ejecutar XSLT de transformación de Java con parámetros
Transformer transformer = TransformerFactory.newInstance().newTransformer(xslSource);
transformer.transform(xmlInput, xmlOutput);
En mi transformación XSLT ahora estoy añadiendo una llamada a la función document()
para cargar la respuesta de un servicio web REST:
<!-- do stuff -->
<xsl:variable name="url">
http://server/service?id=<xsl:value-of select="@id"/>
</xsl:variable>
<xsl:call-template name="doMoreStuff">
<xsl:with-param name="param1" select="document($url)/foo"/>
</xsl:call-template>
fresco Ok, no hay problema. Pero ahora, quiero leer la URL base de una clase utils en java y pasarla a la hoja de estilos.
//java
String baseUrl = myUtils.getBaseUrl();
<!-- xslt -->
<xsl:variable name="url">
<xsl:value-of select="$baseUrl"/>
<xsl:text>/service?id=</xsl:text>
<xsl:value-of select="@id"/>
</xsl:variable>
¿Alguna sugerencia de cómo hacer esto? Mi clase Java utils carga el valor de un archivo myApp.properties en classpath, pero no estoy seguro de que pueda utilizarlo de XSLT ...
Es importante tener en cuenta que '' debe declararse en el nivel superior de la hoja de estilo. Si lo declaras dentro de una plantilla, se considerará un parámetro para la plantilla, no para toda la hoja de estilo. –
karl