Inhalt von xsl:value-of select abkürzen ..

#1
Hi zusammen,

ich komme irgendwie nicht weiter da ich leider auch nicht so der "Programmierer" mit Erfahrung bin.

Mein Problem ist bestimmt nur was ganz simples - aber ich weiss noch nichtmal wonach ich suchen muss.

Also folgendes:

<xsl:value-of select="crsName"/> liefert mir einen Titel zu einem Kurs.
Diesen würde ich gerne nach XX Zeichen abkürzen und mit "..." ergänzen.

Normal würde mir der select ausgeben: Phantasiename eines Kurses mit viel zu viel Zeichen

Und es sollte so aussehen: Phantasiename eines Kurses...

Kann mir jemand bitte einen Tip geben wie man das macht?

Danke euch vielmals :)
Gruss Aka
 

deepthroat

Erfahrenes Mitglied
#4
Funktioniert leider nicht :( - das ergebniss ist genau das selbe wie vorher ..
Dann hast du einen anderen Fehler gemacht. Es sollten ja zumindest die "..." erscheinen. Evlt. ist dein String auch kürzer als 26

Du kannst übrigens eine Template benutzen um nur dann den String zu kürzen wenn er auch wirklich zu lang ist. Bsp:
XML:
<xsl:template name="shorten">
  <xsl:param name="string" />

	<xsl:choose>
	  <xsl:when test="string-length($string) > 10">
		<xsl:value-of select="concat(substring($string, 1, 10), '...')"/>
	  </xsl:when>
	  <xsl:otherwise>
		<xsl:value-of select="$string"/>
	  </xsl:otherwise>
	</xsl:choose>
  </xsl:template>
 
Zuletzt bearbeitet von einem Moderator:
#5
Danke Euch vielmals - mir ist es eben wie Schuppen von den Augen gefallen. Die Antwort von Poly hatte wirklich schon gestimmt - hab dann nochmal richtig reingeschaut und dann bemerkt das ich Depp die ganze Zeit in der falschen for-each Schleife war .. *grummel*

Aber nochmals Danke für die Hilfe! Super! :)
Ralle