This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: how to apply sum to a comma delimited list
- From: Dimitre Novatchev <dnovatchev at yahoo dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 15 May 2002 07:30:08 -0700 (PDT)
- Subject: [xsl] Re: how to apply sum to a comma delimited list
- Reply-to: xsl-list at lists dot mulberrytech dot com
"Florin Dragu" <florin dot dragu at memiq dot ro> wrote:
> is there any way that I can use sum() functions in XSLT on a comma
> separated list (received as an output from a template)?
Using FXSL one would write:
sumCSV.xsl:
----------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:vendor="urn:schemas-microsoft-com:xslt"
>
<xsl:import href="strSplit-to-Words.xsl"/>
<xsl:import href="sum.xsl"/>
<xsl:output indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:variable name="vwordNodes">
<xsl:call-template name="str-split-to-words">
<xsl:with-param name="pStr" select="/"/>
<xsl:with-param name="pDelimiters"
select="', 	 '"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="sum">
<xsl:with-param name="pList"
select="vendor:node-set($vwordNodes)/*[. != '']"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="word">
<xsl:value-of select="concat(position(), ' ', ., ' ')"/>
</xsl:template>
</xsl:stylesheet>
When this is applied on the following xml document,
sumCSV.xml:
----------
<csv>1, 2, 3,4,5
6,
7,8 , 9
,10
</csv>
the result is:
55
Cheers,
Dimitre Novatchev.
__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list