XSLT函数insert-before未被识别。

3

我用BaseX创建了一个XSLT文件,但是函数“insert-before”无法识别。这是一个标准函数(您可以在此处查看:http://www.w3schools.com/xpath/xpath_functions.asp),我也尝试声明fn名称空间,如下所示:

xmlns:fn="http://www.w3.org/2005/xpath-functions"

然后使用fn:insert-before调用该函数,但它仍然无法工作。这是我的代码样例:

<xsl:call-template name="temp">
   ....
   <xsl:with-param name="array" select="fn:insert-before($array,$count+1,$succ)"/>
   ...
</xsl:call-template>

有什么想法吗?

你是否尝试在 Xslt 1.0 处理器上运行这个 Xslt 2.0 函数了? - Filburt
我不熟悉baseX及其对XSLT 2.0的支持。您能否在使用baseX时无障碍地使用其他XSLT / XPath 2.0功能? - Martin Honnen
1
定义“不工作”。在同一行中将“数组”用作参数名称和参数,这看起来非常可疑。调用此函数的模板是什么样子的? - JLRishe
我可以在BaseX中使用其他XSLT / XPath 2.0功能,但是我在每个XSLT 2.0函数上都遇到了问题。当我说它不起作用时,我的意思是我收到一个错误消息,说无法编译样式表。我的整个代码在altova xml spy上运行正常,但在BaseX上却不行。 - user2035071
1个回答

4

BaseX文档位于

http://docs.basex.org/wiki/XSLT_Module

说明默认使用JDK 1.5 XSLT引擎,仅支持XSLT 1.0。同一页解释了如何配置它以运行XSLT 2.0引擎,例如Saxon。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接