XSLT Xalan dyn:评估示例

时间:2008-10-23 16:27:15

标签: xml xslt xalan exslt xslt-extension

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

由于

皮特

3 个答案:

答案 0 :(得分:6)

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

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>

运行

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

给出

I am foo

运行

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

给出

I am bar

希望这有帮助。

答案 1 :(得分:0)

你会如何从JSP页面调用它? JSP提供XML,并且当前将样式表附加到XML页面并为结果提供服务。

答案 2 :(得分:0)

你不能,因为如果你用带有附加样式表的XML页面为客户端提供服务,这将不起作用。浏览器不支持exslt。

但是,如果你在服务器上进行XSLT处理(使用xalan),你可以使它工作,但我不明白你如何将xslt与jsp结合起来。