Internet explorer 让xpath 2.0函数在任何浏览器中都能工作

Internet explorer 让xpath 2.0函数在任何浏览器中都能工作,internet-explorer,firefox,xpath,xslt,Internet Explorer,Firefox,Xpath,Xslt,我想使用XPath 2.0函数,如下所示: 在浏览器中进行XSL转换。我可以在样式表标记中将XSL版本指定为2.0,但这似乎无法激活2.0XPath函数(至少在Firefox中是这样) 例如: <xsl:value-of select="node-name(//testnode)"/> 给我: 'node-name' is not a valid XSLT or XPath function. -->node-name(//testnode)<-- “node-

我想使用XPath 2.0函数,如下所示:

在浏览器中进行XSL转换。我可以在样式表标记中将XSL版本指定为2.0,但这似乎无法激活2.0XPath函数(至少在Firefox中是这样)

例如:

<xsl:value-of select="node-name(//testnode)"/>

给我:

'node-name' is not a valid XSLT or XPath function. -->node-name(//testnode)<--

“node-name”不是有效的XSLT或XPath函数。-->节点名(//testnode)现在,浏览器不支持XPath2.0


改用
name()

我不相信任何浏览器都支持XSLT2.0

如果您想让浏览器执行转换,那么您将被降级到XSLT1.0


但是,您可以使用扩展函数。

更新到2019:如果您希望在浏览器中使用更高版本的XPath和XSLT,可以通过第三方Javascript库(如Saxon JS)实现。这目前支持XPath 3.1和XSLT 3.0。(免责声明:我的公司Saxonica开发Saxon JS)