xsl-list
[Top] [All Lists]

RE: [xsl] Getting average

2008-05-27 14:30:18
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(_at_)mulberrytech(_dot_)com] 
Sent: Tuesday, May 27, 2008 3:29 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Getting average


Harsh,

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

So:

<xsl:variable name="contemporaries" select="//person[(_at_)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(_at_)mulberrytech(_dot_)com
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
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • RE: [xsl] Getting average, Chaudhary, Harsh <=