Help | Site Map
Connecting Tech Pros Worldwide
 
 
LinkBack Thread Tools
  #1  
Old December 27th, 2006, 08:55 PM
The alMIGHTY N
Guest
 
Posts: n/a
Default Help with recursive sum

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

  #2  
Old December 27th, 2006, 11:45 PM
Peter Flynn
Guest
 
Posts: n/a
Default Re: Help with recursive sum

The alMIGHTY N wrote:
Quote:
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/
  #3  
Old December 28th, 2006, 01:35 AM
Dimitre Novatchev
Guest
 
Posts: n/a
Default Re: Help with recursive sum

This can easily be done with FXSL.

Search for:

transform-and-sum


Cheers,
Dimitre Novatchev



"The alMIGHTY N" <natlee75@yahoo.comwrote in message
news:1167252814.113338.247640@79g2000cws.googlegro ups.com...
Quote:
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
>

 

Bookmarks

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 Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over network members.
Post your question now . . .
It's fast and it's free

Popular Articles