Walter: Mit XML + XSL Glossarbegriffe Erkennen und Verlinken

Beitrag lesen

@Thomas,
vielen Dank so funktioniert es, lediglich ein Problem ist dass das letzte Wort vor dem Schlusstag nicht mit übernommen wird wegen substring-before ' ' und keine Leerzeichen vor dem Schlusselement ist.
Wollte nun mit substring-after das Wort selektieren aber mir fehlt eine Funktion wie ich das letzte ' ' Leerzeichen finde im jeweiligen Element. Wäre super wenn dafür jemand eine Lösung hätte.

Grüße,
Walter

<xsl:template match="seite//text()">
   <xsl:call-template name="makelink">
<xsl:with-param name="text" select="normalize-space(.)" />
   </xsl:call-template>
</xsl:template>

<xsl:template name="makelink">
<xsl:param name="text" />
<xsl:variable name="wort" select="substring-before($text, ' ')" />
<xsl:if test="$wort != ''">
  xsl:choose
   <xsl:when test="$wort = /root/glossar/eintrag/titel">
    <a href="#{generate-id(/root/glossar/eintrag[titel = $wort])}"><xsl:value-of select="$wort" /></a>xsl:text </xsl:text>
   </xsl:when>
   xsl:otherwise
    <xsl:value-of select="concat($wort, ' ')" />
   </xsl:otherwise>
  </xsl:choose>
  <xsl:call-template name="makelink">
   <xsl:with-param name="text" select="normalize-space(substring-after($text, $wort))" />
  </xsl:call-template>
</xsl:if>
</xsl:template>