Ho due file XSL: "one.xsl" e "two.xsl"Come utilizzare una funzione da un xsl in un altro
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>
voglio usare funzione "x: trans" in "one.xsl"
Come si fa riferimento alla funzione in un altro file?
Il problema è che quando provo a chiamare per questa funzione in questo modo:
< xsl:value-of select="x:trans('Hello World')"/>
ricevo il seguente messaggio di errore dal browser:
riferimento al prefisso del namespace non dichiarato: 'x '
Se è stato importato o incluso "one.xsl", sarà necessario dichiarare lo spazio dei nomi "x" in "two.xsl" se si desidera utilizzarlo. –
Inoltre, si dice che il messaggio dalle funzioni * browser * ... personalizzate ** è una funzionalità XSLT 2.0 **. Attualmente nessun browser supporta XSLT 2.0. Se vuoi che i browser eseguano il tuo XSLT, avrai bisogno di una soluzione * XSLT 1.0 *. –
Buona domanda (+1). Vedi la mia risposta per una spiegazione completa, passo dopo passo, su come chiamare un 'xsl: function'. –