Subject: RE: [xsl] Adding subtotals to a report From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Fri, 19 Apr 2002 17:41:25 +0100 |
> What I was trying to do was look for a Project element which > has an attribute named ProjectName and the value is equal to > the current ProjectName attribute. When I tried putting > current() in there like so: > > <xsl:value-of select="sum(/*/Project[current()]/*/@Total)" /> That just tests whether the current() node exists, which it always does. You probably need something along the lines of Project[current()/@projectname = ProjectName] but please read the spec to understand what this means before you try it, don't just type it in and tell us it doesn't work. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > > It gives me the same result as if I had used last(). > > Here's a slimmed down version of the XML File. > > <ScheduleVariance> > <Project ProjectName="Sales"> > <Employee EmpID="317" EmpName="Doe, Jane" SchedLen="9:00" > ActualLen="9:33" TotalDiff="0:33"/> > <Project ProjectName="Customer Service"> > <Employee EmpID="174" EmpName="Smith, Chris" SchedLen="9:00" > ActualLen="8:01" TotalDiff="-0:59"/> > </Project> > </ScheduleVariance> > > Inside a for-each Project, I need to add up all of the > "Employee/TotalDiff" attributes for the current project and > insert the total as a new row at the bottom. Once I get one > total working, I can replicate the process for other totals I > need on the same row. > > -----Original Message----- > From: Michael Kay [mailto:michael.h.kay@xxxxxxxxxxxx] > Sent: Friday, April 19, 2002 2:31 AM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Adding subtotals to a report > > > > When I try summing the totals directly I get 0. > > > > I can do this > > <xsl:value-of select="sum(/*/*/*/@Total)" /> > > to get an overall total for the document. > > > > When I try to do this: > > <xsl:value-of select="sum(/*/Project[ProjectName = > > @ProjectName]/*/@Total)" /> > > > > I get 0 again. I know the data is there, I just need a > > little help getting to it. > > I haven't kept your XML file and it was pretty impenetrable > anyway, but the > above is looking for a <Project> element that has a child > ProjectName and an > attribute ProjectName, both of which are equal to each other > - which would > seem an unlikely condition. I suspect one of these (either > the child or the > attribute) should be prefixed as "current()/", but I don't > understand your > data well enough to be sure. Send us a simplified version. > > Michael Kay > Software AG > home: Michael.H.Kay@xxxxxxxxxxxx > work: Michael.Kay@xxxxxxxxxxxxxx > > > > -----Original Message----- > > From: J.Pietschmann [mailto:j3322ptm@xxxxxxxx] > > Sent: Thursday, April 18, 2002 4:51 PM > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: Re: [xsl] Adding subtotals to a report > > > > > > David Messing 477-1289 wrote: > > > <xsl:template match="ScheduleVariance"> > > ... > > > <td><font color="gold"><b>Total</b></font></td> > > > <xsl:for-each select="Employee"> > > > <xsl:variable name="subtotals"> > > > <subtotal><xsl:value-of select="Total" > > /></subtotal> > > > </xsl:variable> > > > <tr> > > > <xsl:call-template name="Employee" /> > > > </tr> > > > </xsl:for-each> > > ... > > > I get the report formatted the way they want it, but when I > > try to add > > > this to it to get subtotals, I get variable is not defined > > or in scope. > > > > That's because the variable is not in scope. The scope > > of variables is the enclosing element, in this case > > the for-each statement working on your Employee elements. > > > > Why don't you access the totals directly? > > > > <tr> > > <td></td> > > <td><b>Totals</b></td> > > <td></td> > > <td></td> > > <td></td> > > <td></td> > > <td></td> > > <td><xsl:value-of select="sum(Employee/Total)" /></td> > > </tr> > > > > J.Pietschmann > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Adding subtotals to a rep, David Carlisle | Thread | RE: [xsl] Adding subtotals to a rep, David Messing 477-1 |
Re: [xsl] Adding subtotals to a rep, David Carlisle | Date | [xsl] <xsl:sort> question., Dung, Ming-tzung |
Month |