I want yo use the EXSLT - DYN:EVALUATE in a style sheet. I have added the names pace but I don't know where the .xsl file I need to import is. I don't believe I have XALAN installed to point the import to. How would I install this? Once installed and I point it to the .xsl will it pick up the function and apply it? I am running Windows. The XSLT file is included at the top of the XML document.
Thanks
Pete
Xalan has the EXSL dyn:evaluate function built-in, you don't need to import anything in order to use it. You just need to declare the namespace. I'll give a small example:
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>
Running
xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl
gives
I am foo
Running
xalan.exe -p path '/root/bar' input.xml dyn_evaluate.xsl
gives
I am bar
Hope this helps.