有没有一种简单的方法可以让用 javascript 编写的 XSLT 1.0 中的扩展函数返回一个节点集?
我可以为此创建一个新的 java 类,但我宁愿在脚本本身中添加一些代码。
当这可以用所有或大多数 XSLT 处理器支持的另一种脚本语言(VB 脚本?Groovy?C#?)来完成时,当然也可以。
我有以下简单的脚本:
<msxsl:script language="JScript" implements-prefix="custom">
function xml (input) {
var x = input.split(";");
return x.toString();
}
</msxsl:script>
它返回一个字符串,因此在 Xpath 表达式中调用该函数没有问题。
我想要的是一个节点集的结果。但是当我将脚本更改为
<msxsl:script language="JScript" implements-prefix="custom">
function xml (input) {
var x = input.split(";");
return x;
}
</msxsl:script>
然后调用该函数会出错,因为数组不会自动转换为节点集。
我查看了arrays-with-java-xslt-extensions,但这更多的是为此创建一个新类,我现在希望避免。
那么应该将哪些语句添加到脚本中以便将数组转换为节点集,从而允许在 Xpath 表达式中使用函数调用?