我一直在尝试使用 XSLT1.0 中的 Exslt 扩展 dyn:evaluate($expression) 来实现表达式的动态评估,但出现以下错误。
BW-XML-100006 Job-261000 Error in [Transform_MCIN_XML/Dyn.process/Transform XML]
The [net.sf.saxon.trans.XPathException] occurred during XSLT transformation:
net.sf.saxon.trans.XPathException:
Cannot find a matching 1-argument function named {http://exslt.org/dynamic}evaluate()
caused by: ; SystemID: tibcr://; Line#: 6; Column#: -1
net.sf.saxon.trans.XPathException:
Cannot find a matching 1-argument function named {http://exslt.org/dynamic}evaluate()
我可以在 Saxon-B XSLT 2.0 引擎中使用 saxon:evaluate($expr) 来做同样的事情。但是我需要在 XSLT 1.0 中执行此操作。
如何解决此错误并在 Tibco BW 的 XSLT 1.0 中实现相同的错误?
任何建议将不胜感激。
谢谢你。
示例 XSLT:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:dyn="http://exslt.org/dynamic"
extension-element-prefixes="dyn">
<xsl:variable name="expr" select="not(1=1)"/>
<xsl:template match="/">
<eval>
<xsl:value-of select="dyn:evaluate($expr)"/>
</eval>
</xsl:template>
</xsl:stylesheet>