Subject: RE: 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: 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
======================================================================
|