Pregunta

Quiero que uses el EXSLT - DYN: EVALUATE en una hoja de estilo. He agregado el ritmo de nombres pero no sé dónde está el archivo .xsl que necesito importar. No creo que haya instalado XALAN para señalar la importación. ¿Cómo instalaría esto? Una vez instalado y lo apunto al .xsl, ¿recogerá la función y la aplicará? Estoy ejecutando Windows El archivo XSLT se incluye en la parte superior del documento XML.

Gracias

Pete

¿Fue útil?

Solución

Xalan tiene la función EXSL dyn: evaluar incorporada, no es necesario importar nada para usarla. Solo necesita declarar el espacio de nombres. Voy a dar un pequeño ejemplo:

input.xml :

<root>
<foo>I am foo</foo>    
<bar>I am bar</bar>    
</root>

dyn_evaluate.xsl :

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:dyn="http://exslt.org/dynamic"
    extension-element-prefixes="dyn">

  <xsl:param name="path"/>

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:value-of select="dyn:evaluate($path)"/>
  </xsl:template>

</xsl:stylesheet>

Ejecutando

xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl

da

I am foo

Ejecutando

xalan.exe -p ruta '/ root / bar' input.xml dyn_evaluate.xsl

da

I am bar

Espero que esto ayude.

Otros consejos

¿Cómo llamarías a esto desde una página JSP? El JSP sirve el XML y actualmente adjunta la hoja de estilo a la página XML y los servidores el resultado.

No puede, porque si le sirve al cliente una página XML con una hoja de estilo adjunta, esto no funcionaría. Los navegadores no admiten exslt.

Sin embargo, si realiza el procesamiento XSLT en el servidor (con xalan) puede hacerlo funcionar, pero no entiendo cómo combina xslt con jsp.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top