XSLT Xalan dyn:评估示例

2 xml xslt xalan exslt xslt-extension

我想在样式表中使用EXSLT - DYN:EVALUATE.我添加了名称的速度,但我不知道我需要导入的.xsl文件在哪里.我不相信我已经安装了XALAN来指向导入.我该如何安装?一旦安装并将其指向.xsl它是否会获取该功能并应用它?我正在运行Windows.XSLT文件包含在XML文档的顶部.

谢谢

皮特

小智 6

Xalan有内置的EXSL dyn:evaluate函数,你不需要导入任何东西就可以使用它.您只需要声明命名空间.我举一个小例子:

input.xml:

<root>
<foo>I am foo</foo>    
<bar>I am bar</bar>    
</root>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

运行

xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl
Run Code Online (Sandbox Code Playgroud)

I am foo
Run Code Online (Sandbox Code Playgroud)

运行

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

I am bar
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.