Ich habe es hinbekommen. Habe den aufzurufenden Code einwenig umgebaut:
<xsl:for-each select="files/file">
"Folge <xsl:value-of select="@firstPart" /> (<xsl:value-of select="@title" />) - <xsl:call-template name="truncate_phrase"><xsl:with-param name="phrase"><xsl:value-of select="substring(translate(filePlot, '"', "'"), 0, 600)" /></xsl:with-param><xsl:with-param name="length" select="600" /><xsl:with-param name="truncate_to_word_boundary" select="1" /></xsl:call-template>"<xsl:if test="position() != last()">,</xsl:if>
</xsl:for-each>
Und in diese "truncate_phrase" dann "normalize-space" mit eingebaut.
das ganze funktioniert nun so, wie ich es mir gewünscht habe:
<xsl:template name="truncate_phrase">
<xsl:param name="phrase" />
<xsl:param name="length" />
<xsl:param name="trailing_string" select="'...'" />
<xsl:param name="truncate_to_word_boundary" select="0" />
<xsl:choose>
<xsl:when test="string-length($phrase)>number($length)">
<xsl:choose>
<xsl:when test="$truncate_to_word_boundary">
<xsl:call-template name="truncate_to_word_boundary">
<xsl:with-param name="str">
<xsl:value-of select="substring(normalize-space($phrase),0,number($length))" />
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring(normalize-space($phrase),0,number($length))" />
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$trailing_string" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring(normalize-space($phrase),0,number($length))" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="truncate_to_word_boundary">
<xsl:param name="str" />
<xsl:variable name="ret" select="substring(normalize-space($str),0,string-length($str))" />
<xsl:choose>
<xsl:when test="$str=''" />
<xsl:when test="substring($str,string-length($str),1)=' '">
<xsl:value-of select="$ret" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="truncate_to_word_boundary">
<xsl:with-param name="str">
<xsl:value-of select="$ret" />
</xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Danke an "H olger" für den Tipp. :-)