Subject: Re: 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: 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
|