sto eseguendo una trasformazione XSLT da dentro il mio applicazioni Web Java senza problemi, come segue:Esegui XSLT Transform da Java con il parametro
Transformer transformer = TransformerFactory.newInstance().newTransformer(xslSource);
transformer.transform(xmlInput, xmlOutput);
Nella mia trasformazione XSLT ora sto Aggiunta di una chiamata alla funzione document()
per caricare la risposta da un servizio web RESTful:
<!-- 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>
Ok, non c'è problema. Ma ora, voglio leggere l'URL di base da una classe utils in java e passarlo al foglio di stile.
//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>
Qualche suggerimento su come farlo? La mia classe Java utils carica il valore da un file myApp.properties sul classpath, ma non sono sicuro di poterlo utilizzare da XSLT ...
Importante notare che '' deve essere dichiarato al livello superiore del foglio di stile. Se lo si dichiara all'interno di un modello, verrà considerato un parametro per il modello non per l'intero foglio di stile. –
karl