Como pode uma função de extensão XSLT JavaScript retornar um conjunto de nós?

Existe uma maneira simples de ter uma função de extensão no XSLT 1.0 escrito em javascript retornar um conjunto de nós?
Eu poderia criar uma nova classe java para isso, mas eu prefiro apenas colocar algum código no próprio script.
Quando isso pode ser feito em outra linguagem de script suportada por todos ou pela maioria dos processadores XSLT (script VB? Groovy? C #?), Então tudo bem também, é claro.

Eu tenho o seguinte script simples:

<code><msxsl:script language="JScript" implements-prefix="custom">
    function xml (input) {
        var x = input.split(";");
        return x.toString();
    }
</msxsl:script>
</code>

que retorna uma string e, portanto, não há problema em chamar a função em expressões Xpath.
O que eu gostaria de ter é um resultado de conjunto de nós. Mas quando eu mudo meu script para

<code><msxsl:script language="JScript" implements-prefix="custom">
    function xml (input) {
        var x = input.split(";");
        return x;
    }
</msxsl:script>
</code>

Em seguida, chamar a função gera um erro porque a matriz não é convertida automaticamente em um conjunto de nós.

Eu olhei paramatrizes-com-java-xslt-extensions mas isso é mais na linha de criar uma nova classe para isso, o que eu gostaria de evitar por enquanto.

Então, quais declarações devem ser adicionadas ao script para transformar a matriz em um conjunto de nós, permitindo que a chamada de função seja usada em expressões Xpath?

questionAnswers(2)

yourAnswerToTheQuestion