This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: catching the last node still satisfying a condition
> Are successive predicate legal ?
yes. There are examples of this in the spec are there not?
>And are they evaluated as
> foo[position() < $limit AND bar AND last()] or as
> (((foo[position() < $limit])[bar])[last()]) ?
Neither.
foo[position() < $limit AND bar AND last()]
isn't what you meant, you meant
foo[position() < $limit and bar and position()=last()]
in this one last() would return the number of foo elements.
(((foo[position() < $limit])[bar])[last()])
In this case this is equivalent to
foo[position() < $limit][bar][last()]
as foo is short for child::foo which is a forward axis.
But for a reverse axis,
ancestor::foo[position() < $limit][bar][last()]
last() and position() relate to reverse document ordering but in
(((foo[position() < $limit])[bar])[last()])
last() and position() relate to document ordering
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list