Subject: RE: limit count() to nodes with a position() < the postion of the current node
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 9 Sep 2003 09:30:57 +0100
|
> But I want to take this one step further and return the count
> of all nodes
> that have a position() that is less than the position of the
> current node.
> Taking the position() of the context node out of the equation
> I thought it
> would as simple as this (I used 5 as a test parameter)...
Nodes do not "have a position()". The result of the position() function
is context dependent: it returns the position of the current node in the
current node list, and the current node list depends on how you reached
the node in your processing.
I suspect that you are using "the position of a node" to mean something
like "the number of preceding siblings of the node", which is
count(preceding-sibling::node()).
Michael Kay
>
> <xsl:key name="linkCount" match="lid[position() < 5]" use="."/>
>
> I expected it to return the count of the nodes that matched
> the current
> context node as long as there postion was less than 5. But
> it didn't. It
> returned the total count for the entire xml tree.
>
> So, my questions are... 1)What do I need to change to get
> the above example
> to work and 2)How could I then take it one step further and use the
> position() of the current context node as the parameter to
> test against the
> position() of the test nodes?
>
> Your help is much appreciated!
>
> Best Regards,
>
> M.David
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|