Re: [xsl] Counting in several levels

Subject: Re: [xsl] Counting in several levels
From: Sven Waibel <sven.waibel@xxxxxxxx>
Date: Fri, 26 Nov 2004 12:01:37 +0100
Thanks, that's it.

Sven

Michael Kay wrote:

> Instead of "parameter", which is short for "child::parameter", you need
> "descendant::parameter", or ".//parameter" (which in this case returns the
> same as "descendant::parameter").
> 
> Michael Kay
> http://www.saxonica.com/ 
> 
> 
>>-----Original Message-----
>>From: Sven Waibel [mailto:sven.waibel@xxxxxxxx] 
>>Sent: 26 November 2004 10:37
>>To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>>Subject: [xsl] Counting in several levels
>>
>>Hi,
>>
>>a new problem:
>>
>>XML:
>>-------------------------------------------
>><case>
>>	<parameter>
>>		<status value="performed"/>
>>		<verdict value="fail"/>
>>	</parameter>
>>	<parameter>
>>		status value="performed"/>
>>		<verdict value="pass"/>
>>	</parameter>
>>	<parameter>
>>		status value="performed"/>
>>		<verdict value="pass"/>
>>	</parameter>
>>	<case>
>>		<parameter>
>>			<status value="performed"/>
>>			<verdict value="fail"/>
>>		</parameter>
>>		<parameter>
>>			status value="performed"/>
>>			<verdict value="pass"/>
>>		</parameter>
>>		<parameter>
>>			status value="performed"/>
>>			<verdict value="pass"/>
>>		</parameter>
>>	</case>
>></case>
>>
>>
>>If the current node "case" is the inner node then this is working:
>>	<xsl:value-of 
>>select="count(parameter[status/@value='performed' and 
>>verdict/@value='pass'])" />
>>But if my current node is the outer node, it's not working 
>>for known reasons.
>>
>>I wanna get all parameters that "performed" and "pass".
>>
>>To make it more complex: I don't know how many nodes "case" 
>>are in the node "case": //case/case*/parameter
>>
>>Thanks again and best regards
>>Sven

Current Thread