|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Splitting a string on word boundaries
It's a case for a recursive template:
<xsl:call-template name="trim">
<xsl:param name="in"/>
<xsl:choose>
<xsl:when test="substring($in, string-length($in), 1)=' ')">
<xsl:value-of select="$in"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="trim">
<xsl:with-param name="in"
select="substring($in, 1, string-length($in)-1)"/>
</
</
</
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of thei
> Sent: 10 February 2003 15:51
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Splitting a string on word boundaries
>
>
> Hello all, I've got what I think is a simple problem but I
> can't find a solution.
>
> I am generating a RSS file and summarising the first 200
> characters for the output.
>
> The XML source <content> element contains only text (xs:string).
>
> The XSL is:
>
> <xsl:value-of
> select="normalize-space(substring(content[not(@private)],1,200))"/>
>
> This can often cause words to become truncated at the end. I
> would much rather have a way to output say the first 30
> words, rather than the first 200 characters.
>
> The full xsl is available at
> http://journal.the-i.org/xsl/rss091.xsl and > rss-imports.xsl
> and the output is http://journal.the-i.org/rss091.xml
>
> Thanks for any help :)
>
> Ned Martin
> http://nedmartin.org/
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








