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]
Other format: [Raw text]

Re: limiting preceding axis by ancestor


Fox, Michael wrote:
> I have a document where there are many instances of <foo>.   Each <foo> may
> have many <bar> children.   <bar> is itself recursive to several levels.   
> 
> <foo>
> 	<bar>
> 	<bar>
> <foo>
> 	<bar>
> 		<bar>
> 			<bar>
> 
> I want to test to see if any preceding <bar> has the same value as the
> current <bar> but limit the test to those <bar> elements are children of the
> immediate <foo> ancestor.   In other words, I want to exclude any <bar>
> children of the ancestor::foo's preceding-sibling:foo

Try preceding::bar[generate-id()=generate-id(current()/ancestor::foo)]
or ancestor::foo//bar[following::bar[count(.|current())=1]]
Either can be inefficient, depending on the actual XML.

J.Pietschmann



 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]