|
Subject: RE: [xsl] Splitting a string on word boundaries From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Mon, 10 Feb 2003 18:39:38 -0000 |
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: [xsl] 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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Splitting a string on word bo, thei | Thread | RE: [xsl] Splitting a string on wor, thei |
| Re: [xsl] best practice, florian | Date | Re: [xsl] Splitting a string on wo, Dimitre Novatchev |
| Month |