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 式で使用できるようにするには、どのステートメントをスクリプトに追加する必要があるでしょうか?