RE: [xsl] How do I get a SUM of the string-length of all child nodes ??

Subject: RE: [xsl] How do I get a SUM of the string-length of all child nodes ??
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 27 May 2005 10:17:58 +0100
In XSLT 1.0 the sum() function can only sum the string values of nodes, it
can't sum a set of computed numbers. This means your options are

(a) a two-phase transformation: first create a tree in which the computed
numbers are represented as attributes (typically), then sum over these
attributes

(b) a recursive template to compute the sum

In 2.0, like many things, it's much easier:

    sum(child::node()/string-length())

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: Bovy, Stephen J [mailto:STEPHEN.Bovy@xxxxxx] 
> Sent: 27 May 2005 07:36
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] How do I get a SUM of the string-length of all 
> child nodes ??
> 
> I am not sure how to do this:
> 
> here is what I have which is obviously incorrect:
> 
> <xsl:template match="/*/*/*" >                                        
>   <xsl:param name="rcnt" />                                           
>   <xsl:choose>                                                        
>   <xsl:when test="position()=1">                                      
>     <xsl:variable name="csum" select="sum(string-length(.))"/>        
> rsizes <xsl:value-of select="$rcnt"/> =<xsl:value-of select="$csum"/>;
>   </xsl:when>                                                         
>   <xsl:otherwise>                                                     
>   bt('<td align="center"> ');                                         
>   bt('<xsl:value-of select="."/> ');                                  
>   bt('</td> ');                                                       
>   </xsl:otherwise>                                                    
>   </xsl:choose>                                                       
> </xsl:template>                                                       

Current Thread