|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How do I get a SUM of the string-length of all chi
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: 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>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








