Re: [xsl] position() and last() problem

Subject: Re: [xsl] position() and last() problem
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 8 Jan 2003 16:28:03 GMT
ancestor::con:view[1]

selects a node list of at most 1 node so position()=1=last() always
so the above would be equivalent to
ancestor::con:view[1][position()=last()]

I thought you had written


ancestor::con:view[1][position()!=last()]

which will always selct an empty node set as position() and last() are
both 1 so never not equal.

However U see you have written

"ancestor::con:view[1][position()]!=last()"

which is legal but compares the numeric value of the data content 
of the parent con:view element against the number of nodes in the
current node list at the point the xsl:if is evaluated.

[position()] is short for [position()=position()] which is always
true so the above is

"ancestor::con:view[1]!=last()"

which is

"parent::con:view != last()"

This almost certainly isn't what you want to do.

If I understand your problem you want to know if the parent has a
following sibling

test="parent::*/following-sibling::*"

David


________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread