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 |