PeterK: Lösung

Beitrag lesen

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