[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Getting average
Subject: Re: [xsl] Getting average
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 27 May 2008 16:28:40 -0400
|
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
======================================================================
|