Reputation: 3
I'm new to XSLT. I'm writing a rule to limit the charters in a string when the text is over 240 and then replace with character 1 till 237 adding "..." in the end. This was not a problem till now using this:
<xsl:choose>
<xsl:when test="string-length(sensei_local_short_description) > 240">
<xsl:value-of select="substring(sensei_local_short_description, 1, 237)" />...
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="sensei_local_short_description" />
</xsl:otherwise>
</xsl:choose>
<App_Data App="SVOD" Name="Summary_Short" Value="{sensei_local_short_description}"/>
<App_Data App="SVOD" Name="Summary_Long" Value="{sensei_local_short_description}"/>
The problem I'm facing is that I need that limited version to go to the value "Summary Short" as result. And now I have the 3 values on output:
Text only for the limited Summary Short Version exception + App Data full Summary Short Version + App Data full Summary Long Version
I would like to aim for this on output (two App Data values: 1 reduced and one complete)
(App_Data Value="Dora en Boots zijn bij Diego in het dierenopvangcentrum, waar ze kennismaken met Baby Beer, het beste vriendje van Baby Jaguar. Baby Jaguar en Baby Beer zijn samen met een bal aan het spelen, maar dan komt Zwieber en die probeert de bal ... " Name="Summary_Short" App="SVOD"/>
App_Data Value="Dora en Boots zijn bij Diego in het dierenopvangcentrum, waar ze kennismaken met Baby Beer, het beste vriendje van Baby Jaguar. Baby Jaguar en Baby Beer zijn samen met een bal aan het spelen, maar dan komt Zwieber en die probeert de bal te stelen. " Name="Summary_Long" App="SVOD"/>
Hope you can understand. and sorry in advance for the lack of technical terminology, I'm quite new to this.
Thanks for your time and help
Upvotes: 0
Views: 1250
Reputation: 117073
I am guessing (!) you want to do something like:
<App_Data App="SVOD" Name="Summary_Short">
<xsl:attribute name="Value">
<xsl:choose>
<xsl:when test="string-length(sensei_local_short_description) > 240">
<xsl:value-of select="substring(sensei_local_short_description, 1, 237)" />
<xsl:text>...</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="sensei_local_short_description" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</App_Data>
<App_Data App="SVOD" Name="Summary_Long" Value="{sensei_local_short_description}"/>
to receive a result like:
<App_Data App="SVOD" Name="Summary_Short" Value="Dora en Boots zijn bij Diego in het dierenopvangcentrum, waar ze kennismaken met Baby Beer, het beste vriendje van Baby Jaguar. Baby Jaguar en Baby Beer zijn samen met een bal aan het spelen, maar dan komt Zwieber en die probeert de bal ..."/>
<App_Data App="SVOD" Name="Summary_Long" Value="Dora en Boots zijn bij Diego in het dierenopvangcentrum, waar ze kennismaken met Baby Beer, het beste vriendje van Baby Jaguar. Baby Jaguar en Baby Beer zijn samen met een bal aan het spelen, maar dan komt Zwieber en die probeert de bal te stelen. "/>
Here's a working demo in context:
http://xsltransform.net/94hvTz8
Upvotes: 1