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