Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > XML > Help with recursive sum

Reply
Thread Tools

Help with recursive sum

 
 
The alMIGHTY N
Guest
Posts: n/a
 
      12-27-2006
I've been having some issues with recursive summing and have been
unsuccessful at getting some of the solutions I've seen online to work.
I'm hoping that perhaps somebody in the newsgroup will be able to shed
some light on the issue.

I have the following XML:

<departmentStore>
<name>S-Mart</name>
<department>
<name>Electronics</name>
<section>
<name>Video Games</name>
<system>
<name>Xbox 360</name>
<manufacturer>Microsoft</manufacturer>
<price>$399.99</price>
<gameLibrary>
<game>
<name>Call of Duty 3</name>
<genre>Shooter</genre>
<publisher>Activision</publisher>
<developer>Treyarch</developer>
<price>$59.99</price>
</game>
<game>
<name>Fight Night Round 3</name>
<genre>Sports</genre>
<publisher>Electronic Arts</publisher>
<developer>EA Chicago</developer>
<price>$59.99</price>
</game>
<game>
<name>Rainbow Six Vegas</name>
<genre>Shooter</genre>
<publisher>Ubisoft</publisher>
<developer>Ubisoft Montreal</developer>
<price>$59.99</price>
</game>
<game>
<name>Viva Pinata</name>
<genre>Simulation</genre>
<publisher>Microsoft</publisher>
<developer>Rare</developer>
<price>$49.99</price>
</game>
</gameLibrary>
</system>
</section>
</department>
</departmentStore>

departmentStore, department, section, system, and gameLibrary all have
more children nodes than what are shown.

What I want to do is get the sum of all video game prices for a
specific system and display it when applying the template that matches
"system."

Any help would be very much appreciated. Thanks!

Nathaniel

 
Reply With Quote
 
 
 
 
Peter Flynn
Guest
Posts: n/a
 
      12-27-2006
The alMIGHTY N wrote:
> I've been having some issues with recursive summing and have been
> unsuccessful at getting some of the solutions I've seen online to work.
> I'm hoping that perhaps somebody in the newsgroup will be able to shed
> some light on the issue.
>
> I have the following XML:
>
> <departmentStore>
> <name>S-Mart</name>
> <department>
> <name>Electronics</name>
> <section>
> <name>Video Games</name>
> <system>
> <name>Xbox 360</name>
> <manufacturer>Microsoft</manufacturer>
> <price>$399.99</price>
> <gameLibrary>
> <game>
> <name>Call of Duty 3</name>
> <genre>Shooter</genre>
> <publisher>Activision</publisher>
> <developer>Treyarch</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Fight Night Round 3</name>
> <genre>Sports</genre>
> <publisher>Electronic Arts</publisher>
> <developer>EA Chicago</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Rainbow Six Vegas</name>
> <genre>Shooter</genre>
> <publisher>Ubisoft</publisher>
> <developer>Ubisoft Montreal</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Viva Pinata</name>
> <genre>Simulation</genre>
> <publisher>Microsoft</publisher>
> <developer>Rare</developer>
> <price>$49.99</price>
> </game>
> </gameLibrary>
> </system>
> </section>
> </department>
> </departmentStore>
>
> departmentStore, department, section, system, and gameLibrary all have
> more children nodes than what are shown.
>
> What I want to do is get the sum of all video game prices for a
> specific system and display it when applying the template that matches
> "system."


Never store prices with the currency sign embedded, because they then
cease to be numbers and can't be manipulated easily in functions. Always
store the currency as an attribute of the price, using the standard
3-letter currency codes used by your bank (eg here possibly USD or CAD),
like <price currency="USD">49.99</price>
and only translate to a currency sign for purposes of display or print.
Then it's easy to write:

<xsl:template match="system">
<xsl:value-of select="sum(gameLibrary/game/price)"/>
</xsl:template>

If the data is not yours (ie you get given it), either persuade the
originators to do it right, or pass it through a filter which removes
the currency symbol or rewrites the document to use an attribute.

Motto: get the data model right to begin with, and everything else
pretty much falls into place. Get the data model wrong, and your project
is hosed before you start.

///Peter
--
XML FAQ: http://xml.silmaril.ie/
 
Reply With Quote
 
 
 
 
Dimitre Novatchev
Guest
Posts: n/a
 
      12-28-2006
This can easily be done with FXSL.

Search for:

transform-and-sum


Cheers,
Dimitre Novatchev



"The alMIGHTY N" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> I've been having some issues with recursive summing and have been
> unsuccessful at getting some of the solutions I've seen online to work.
> I'm hoping that perhaps somebody in the newsgroup will be able to shed
> some light on the issue.
>
> I have the following XML:
>
> <departmentStore>
> <name>S-Mart</name>
> <department>
> <name>Electronics</name>
> <section>
> <name>Video Games</name>
> <system>
> <name>Xbox 360</name>
> <manufacturer>Microsoft</manufacturer>
> <price>$399.99</price>
> <gameLibrary>
> <game>
> <name>Call of Duty 3</name>
> <genre>Shooter</genre>
> <publisher>Activision</publisher>
> <developer>Treyarch</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Fight Night Round 3</name>
> <genre>Sports</genre>
> <publisher>Electronic Arts</publisher>
> <developer>EA Chicago</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Rainbow Six Vegas</name>
> <genre>Shooter</genre>
> <publisher>Ubisoft</publisher>
> <developer>Ubisoft Montreal</developer>
> <price>$59.99</price>
> </game>
> <game>
> <name>Viva Pinata</name>
> <genre>Simulation</genre>
> <publisher>Microsoft</publisher>
> <developer>Rare</developer>
> <price>$49.99</price>
> </game>
> </gameLibrary>
> </system>
> </section>
> </department>
> </departmentStore>
>
> departmentStore, department, section, system, and gameLibrary all have
> more children nodes than what are shown.
>
> What I want to do is get the sum of all video game prices for a
> specific system and display it when applying the template that matches
> "system."
>
> Any help would be very much appreciated. Thanks!
>
> Nathaniel
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Help with cumulative sum Maggie Python 13 09-10-2009 05:12 PM
Recursive functions Vs Non-recursive functions - performance aspect vamsi C Programming 21 03-09-2009 10:53 PM
Two recursive calls inside of a recursive function n00m C++ 12 03-13-2008 03:18 PM
Perl sum of array and help with sorting elroyerni Perl Misc 5 08-23-2007 01:49 PM
I need help calculating the sum of the numbers of an integer un[real] C++ 6 11-03-2005 12:11 AM



Advertisments