Subject: RE: string-length From: "Ben Sorek" <bsorek@xxxxxxxxxxxxx> Date: Sun, 2 Apr 2000 14:55:36 +0200 |
Sorry for asking this question: but where would I put this template name="add-data". I cannot put it in a vriable tag, that won't work. If i place it outside, how does it "know" what DATA is? Ben -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]On Behalf Of Steve Tinney Sent: Sunday, April 02, 2000 5:41 PM To: xsl-list@xxxxxxxxxxxxxxxx Subject: Re: string-length > I want to select all nodes (in order) as long as the additive > string length is less then 915 > <CATEGORY> > <DATA> > .... > </DATA> > <DATA> > .... > </DATA> Use recursion, and pass the length of cumulative length of your string as a parameter. Wrap the whole thing inside a variable. <xsl:variable name="str"> <xsl:call-template name="add-data"/> </xsl:variable> <xsl:template name="add-data"> <xsl:param name="strlen" select="0"/> <xsl:param name="index" select="1"/> <xsl:if test="strlen < 915"> <xsl:value-of select="DATA[$index]"/> </xsl:if> <xsl:if test="$index <= count(DATA)"> <xsl:call-template name="add-data"> <xsl:with-param name="strlen" select="$strlen+string-length(DATA[$index])"/> <xsl:with-param name="index" select="$index+1"/> </xsl:call-template> <xsl:if> </xsl:template> (Untested, and probably not exactly what you want when, e.g., the first DATA node has more than 915 characters, but you get the idea) Steve 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 -> |
---|---|---|
Re: string-length, Steve Tinney | Thread | RE: string-length, Ben Sorek |
Re: Dumb question from a newbie on , David Carlisle | Date | select="preceding-sibling::ROW[ente, Thorbjoern Ravn Ande |
Month |