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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] How do I get a SUM of the str, Bovy, Stephen J | Thread | Re: [xsl] How do I get a SUM of the, David Carlisle |
[xsl] simple algebra on attributes., talosso | Date | RE: [xsl] Date expressions in XSLT , Michael Kay |
Month |