Tokenizing y clasificación con XSLT 1.0

Tengo una cadena delimitada (delimitada por espacios en mi ejemplo a continuación) que necesito para tokenizar, ordenar y luego volver a unirme y necesito hacer todo esto usando XSLT 1.0. ¿Como podría hacerlo? Sé que necesito usar xsl:sort alguna manera, pero todo lo que he intentado hasta ahora me ha dado algún tipo de error.

Por ejemplo, si ejecuto el código al final de esta publicación, obtengo esto:

fresa arándano naranja raspberry lima limón

¿Qué haría si quisiera obtener esto en su lugar ?:

arándano limón lima naranja raspberry fresa

Tenga en cuenta que estoy usando XSLT 1.0.

Aquí está el código, que está basado en el código de Jeni Tennison .

                                

Aquí hay una solución ineficiente de versión 1 pura:

                                                                                    0 -1 1       -1 1   

Si su procesador es compatible con EXSLT, será mejor que use str: tokenize

Para ordenar, ¿por qué no usar xsl: sort?

                 

Tenga en cuenta que es posible que necesite exsl: node-set do a la iteración.