我希望你在样式表中使用 EXSLT - DYN:EVALUATE。我已经添加了名称速度,但我不知道我需要导入的 .xsl 文件在哪里。我不相信我安装了 XALAN 来指向导入。我将如何安装它?安装后,我将其指向 .xsl,它会获取该功能并应用它吗?我正在运行 Windows。XSLT 文件包含在 XML 文档的顶部。
谢谢
皮特
我希望你在样式表中使用 EXSLT - DYN:EVALUATE。我已经添加了名称速度,但我不知道我需要导入的 .xsl 文件在哪里。我不相信我安装了 XALAN 来指向导入。我将如何安装它?安装后,我将其指向 .xsl,它会获取该功能并应用它吗?我正在运行 Windows。XSLT 文件包含在 XML 文档的顶部。
谢谢
皮特
Xalan 具有内置的 EXSL dyn:evaluate 函数,您无需导入任何内容即可使用它。您只需要声明命名空间。我举一个小例子:
输入.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
希望这可以帮助。
您将如何从 JSP 页面调用它?JSP 提供 XML 并且当前将样式表附加到 XML 页面并提供结果。
您不能,因为如果您使用带有附加样式表的 XML 页面为客户端提供服务,这将行不通。浏览器不支持 exslt。
但是,如果您在服务器上进行 XSLT 处理(使用 xalan),您可以让它工作,但我不明白您如何将 xslt 与 jsp 结合使用。