This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]