RE: [xsl] Getting average

Subject: RE: [xsl] Getting average
From: "Chaudhary, Harsh" <HCHAUDHA@xxxxxxxxx>
Date: Tue, 27 May 2008 16:30:18 -0500
sum($contemporaries/group/@income)

Will this work though e.g. I think that in the first group the sum will
not be 1000 + 1000, rather it will just be 1000. I might be wrong
though.

The example I gave was a very simplistic one. I did try to do the get
all persons of the same age and then summing it up, but for me it always
resulted in the example I gave above.

I did solve my problem by something like;

variable: incomesOfAllPersonsOfSameAge
	In this variable I make a node set of incomes
Then use exsl:node-set to add up all the incomes int he nodeset I built.

Thanks,
Harsh Chaudhary.
AT Rate
X - 36283


-----Original Message-----
From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx]
Sent: Tuesday, May 27, 2008 3:29 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Getting average


Harsh,

To get all persons of a given age, say $age, select //person[@age=$age]

So:

<xsl:variable name="contemporaries" select="//person[@age=$age]"/>

Sum their incomes:

sum($contemporaries/group/@income)

Average their incomes:

sum($contemporaries/group/@income) div count($contemporaries)

Etc. (modulo your definition of "average" and so forth)

I hope that helps,
Wendell

At 04:13 PM 5/27/2008, you wrote:
>Hi,
>
>I have an XML file in the following format:
>
><cutomers>
>         <group income=1000>
>                 <person age=10/>
>                 <person age=15/>
>                 <person age=30/>
>         </group>
>
>         <group income=2000>
>                 <person age=10/>
>                 <person age=40/>
>         </group>
>
>         <group income=5000>
>                 <person age=20/>
>                 <person age=20/>
>         </group>
></customers>
>
>I would like to find the average of incomes for people of a particular
>age? I am using XSLT 1.0. A double pass is not practical. Maybe this is
>stupid simple and I am missing something basic, but I would appreciate
>some help on this.


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread