This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: counting the number of tokens in a string?


Worse than a newbie question - a question that was only asked 24 hours
ago...

Mike Kay's response:
"Your first job is to tokenize this. Some processors (and EXSLT) have an
xx:tokenize() extension function that makes this easy; the only other
way is to use a recursive template (which isn't very difficult). Let's
say you end up with a variable $colours containing a node-set in which
there are four elements whose string values are blue, red, etc,"

My response:
If you aren't using a processor which supports tokenize() then use the
recursive method:

---------------------

<xsl:variable name="t">
	<xsl:call-template name="getTotal">
		<xsl:with-param name="s"
select="normalize-space(ITEM/@cols)"/>
		<xsl:with-param name="x" select="'1'"/>
	</xsl:call-template>
</xsl:variable>

<xsl:template name="getTotal">
	<xsl:param name="s"/>
	<xsl:param name="x"/>
	<xsl:choose>
		<xsl:when test="contains($s, ',')">
			<xsl:call-template name="getTotal">
				<xsl:with-param name="s"
select="substring-after($s,''')"/>
				<xsl:with-param name="x" select="$x +
1"/>
			</xsl:call-template>
		</xsl:when>
		<xsl:otherwise><xsl:value-of
select="$x"/></xsl:otherwise>
	</xsl:choose>
</xsl:template>

---------------------

Then the total number of items in the cols attribute will be given by:

<xsl:value-of select="$t" />

Rgs,

Ben Robb


-----Original Message-----
From: john liao [mailto:jliao2k@yahoo.com] 
Sent: 02 October 2002 17:36
To: XSL-List@lists.mulberrytech.com
Subject: [xsl] counting the number of tokens in a string?


Hi,

another newbie question. Is there an easy way to count
the number of commas in a string? Like this:

<ITEM cols="col1,col2,col3,col4"/>

I would like to print 4 for the number of columns in
my ITEM. I searched on tokenize() but most of the
references are about the existence of it.

Thanks,

J.L.

=====


__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]