Subject: RE: [xsl] RE: [Bu posta banka disindan gelmekte olup gerektiginde teyit alinmalidir.] - [xsl] find the sum over distinct nodes - Sender blacklisted From: Osman Çınar Eren <Cinar.Eren@xxxxxxxxxxxxx> Date: Thu, 18 Nov 2004 17:36:26 +0200 |
it does not work:( for the first nodeset, it writes for one of the B nodes. nothing else:( any ideas? -----Original Message----- From: Jarno.Elovirta@xxxxxxxxx [mailto:Jarno.Elovirta@xxxxxxxxx] Sent: Thursday, November 18, 2004 1:41 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] RE: [Bu posta banka disindan gelmekte olup gerektiginde teyit alinmalidir.] - [xsl] find the sum over distinct nodes - Sender blacklisted Hi, > <xsl:for-each select="$ZZZ[generate-id(.)]"> This is in effect the same as <xsl:for-each select="$ZZZ"> as an id can be generated for each node and it will always be a non-zero length string. Just use <xsl:template name="temp1"> <xsl:param name="ZZZ" /> <xsl:for-each select="$ZZZ/B[generate-id(value) = generate-id(key('dkey', value/v1))]"> <xsl:variable name="miktar" select="sum(key('dkey', value/v1)/v2)"/> <fo:table-row> <fo:table-cell> <fo:block text-align="left" font-size="8pt" > <xsl:value-of select='format-number($miktar, "###,###.00")'/> </fo:block> </fo:table-cell> </fo:table-row> </xsl:for-each> </xsl:template> Cheers, Jarno > ... > <xsl:if test=...> > <xsl:for-each > select="$ZZZ/B/value[generate-id(.) = generate-id(key('dkey', v1))]"> > <xsl:variable name="miktar" > select="sum(key('dkey', v1)/v2)"/> > <fo:table-row> > <fo:table-cell> > <fo:block text-align="left" > font-size="8pt" > > <xsl:value-of > select='format-number($miktar, "###,###.00")'/> > </fo:block> > </fo:table-cell> > </fo:table-row> > </xsl:for-each> > > </xsl:if> > > </xsl:for-each> > </xsl:template> > > is this a wrong idea to use ZZZ multiple times? > > -----Original Message----- > From: Jarno.Elovirta@xxxxxxxxx [mailto:Jarno.Elovirta@xxxxxxxxx] > Sent: Thursday, November 18, 2004 11:55 AM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] RE: [Bu posta banka disindan gelmekte olup > gerektiginde teyit alinmalidir.] - [xsl] find the sum over distinct > nodes - Sender blacklisted > > > Hi, > > > <xsl:key name="dkey" match="value" use="v1"/> > > <xsl:for-each select="$ZZZ[generate-id(.)]/B[generate-id(.) = > > generate-id(key('dkey',v1)[1])]"> > > [generate-id(.)] will always return true, so we can rewrite > the above into > > $ZZZ/B[generate-id(.) = generate-id(key('dkey',v1)[1])] > > > but this returns nothing, that is this does not return a nodeset... > > i have a problem with the grouping. > > any ideas? > > How about > > <xsl:for-each select="$ZZZ/B[generate-id(value) = > generate-id(key('dkey', value/v1))]"> > <xsl:variable name="miktar" select="sum(key('dkey', > value/v1)/v2)"/> > <fo:table-row> > <fo:table-cell> > <fo:block text-align="left" font-size="8pt" > > <xsl:value-of select='format-number($miktar, > "###,###.00")'/> > </fo:block> > </fo:table-cell> > </fo:table-row> > </xsl:for-each> > > Cheers, > > Jarno > > > regards.. > > > > -----Original Message----- > > From: Osman G}nar Eren [mailto:Cinar.Eren@xxxxxxxxxxxxx] > > Sent: Thursday, November 18, 2004 10:43 AM > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: [Bu posta banka d}~}ndan gelmekte olup gerektipinde teyit > > al}nmal}d}r.] - [xsl] find the sum over distinct nodes - Sender > > blacklisted > > > > > > > > Hi, > > > > I have such an XML nodeset: > > > > <A> > > <B> > > <key>aa</key> > > <value> > > <v1>aa</v1> > > <v2>110</v2> > > </value> > > </B> > > <B> > > <key>bb</key> > > <value> > > <v1>bb</v1> > > <v2>10</v2> > > </value> > > </B> > > <B> > > <key>cc</key> > > <value> > > <v1>cc</v1> > > <v2>60</v2> > > </value> > > </B> > > </A> > > > > <A> > > <B> > > <key>bb</key> > > <value> > > <v1>bb</v1> > > <v2>40</v2> > > </value> > > </B> > > <B> > > <key>cc</key> > > <value> > > <v1>cc</v1> > > <v2>200</v2> > > </value> > > </B> > > </A> > > > > <A> > > <B> > > <key>dd</key> > > <value> > > <v1>dd</v1> > > <v2>60</v2> > > </value> > > </B> > > </A> > > > > what i try to do is to have the sum values over 'v2' values > > for distinct B nodes.(distinct means for different key values.) > > i would like to have such an XSL part: > > > > <xsl:for-each select="$ZZZ[generate-id(.)]/???"> > > <xsl:variable name="miktar" select="sum(v2)"/> > > <fo:table-row> > > <fo:table-cell> > > <fo:block text-align="left" font-size="8pt" > > > <xsl:value-of select='format-number($miktar, > > "###,###.00")'/> > > </fo:block> > > </fo:table-cell> > > </fo:table-row> > > > > where $ZZZ is the nodeset which contrains the elements given above. > > > > thanks in advance. > > best regards..
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] RE: [Bu posta banka disin, Jarno.Elovirta | Thread | RE: [xsl] RE: [Bu posta banka disin, Michael Kay |
[xsl] Re: Problem passing node-set , Charlie Consumer | Date | [xsl] XSLT Generated Text, Derek Basch |
Month |