Ich habe eine Lösung gefunden:
<xsl:template name="str:split">
<xsl:param name="string" select="''" />
<xsl:param name="pattern" select="' '" />
xsl:choose
<xsl:when test="contains($string, $pattern)">
<xsl:if test="not(starts-with($string, $pattern))">
<xsl:call-template name="str:split">
<xsl:with-param name="string" select="substring-before($string, $pattern)" />
<xsl:with-param name="pattern" select="$pattern" />
</xsl:call-template>
</xsl:if>
<xsl:call-template name="str:split">
<xsl:with-param name="string" select="substring-after($string, $pattern)" />
<xsl:with-param name="pattern" select="$pattern" />
</xsl:call-template>
</xsl:when>
xsl:otherwise
<token><xsl:value-of select="$string" /></token>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Diese Funktion teilt einen String anhand eines Trennzeichens in eine Liste von token-Elements die dann per Index-Zahlen angesprochen werden können.
Peter