Re: [xsl] Find a set of nodes and depending on element values

Subject: Re: [xsl] Find a set of nodes and depending on element values
From: Jakub.Valenta@xxxxxxxx
Date: Mon, 4 Mar 2002 18:28:23 +0200
Hi,
hope this helps


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl
="http://www.w3.org/1999/XSL/Transform";>
     <xsl:key name = "example"  match ="/loadtest/rounds/action" use
= "./loadsize" />

     <xsl:template match="/">
      <!-- this selects the <action nodes according to loadsize parameter

        <xsl:copy-of select="key('example','1')"/>
        -->
      <result>
       <xsl:value-of select="sum(key('example','1')/time) div count(key
('example','1'))" />
      </result>
     </xsl:template>
</xsl:stylesheet>


gives you:

<?xml version="1.0" encoding="utf-8"?>
<result>17.666666666666668</result>

br,

Jakub





"Erik Stunkat" <Erik.Stunkat@xxxxxxx>@lists.mulberrytech.com on 03/04/2002
05:53:17 PM

Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx

Sent by:  owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx


To:   XSL-List@xxxxxxxxxxxxxxxxxxxxxx
cc:

Subject:  [xsl] Find a set of nodes and depending on element values

Hi!

I have a simple xml file:

<?xml version="1.0" encoding="iso-8859-1"?>
<loadtest><settings task="Export"  host="http://animal:8080"; format
="BMECat" size="1000"  ></settings><rounds>
<action><user>user0-0</user><command>completed</command><loadsize>1</loadsize><time>18</time><output></output></action>

<action><user>user0-1</user><command>completed</command><loadsize>1</loadsize><time>17</time><output></output></action>

<action><user>user0-2</user><command>completed</command><loadsize>1</loadsize><time>18</time><output></output></action>

<action><user>user0-3</user><command>completed</command><loadsize>5</loadsize><time>18</time><output></output></action>

<action><user>user0-4</user><command>completed</command><loadsize>5</loadsize><time>18</time><output></output></action>

</rounds></loadtest>


Now I want to find all <action> elements with the element
<loadsize>1</loadsize> and then process the average time (<time>xxx</time>)
for each set of action elements with the same time.

 <xsl:value-of select="sum(/time[loadsize='1']) div count(time[loadsize
='1'])"/> does not work...

My problem is to find the correct nodeset -  for-each gives me the strings
, not the elements.

thanks in advance!

erik stunkat


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list






 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread