xsl-list
[Top] [All Lists]

RE: Re: Is it possible to know position of ancestor?

2002-10-17 12:59:16
Try

select="count(../preceding-sibing::line + 1)"

Kind regards,

James Carlyle

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
evgeniy(_dot_)strokin(_at_)rocketrainer(_dot_)com
Sent: 17 October 2002 20:11
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Re: Is it possible to know position of ancestor?


Yes, you are so right (how do you know what I meant if I didn't 
know!?!? :)
But here is also the problem:
Let say we have another XML:
<root>
 <some_tag/>
 <line>
   <a/>
   <b/>
 </line>
 <line>
   <a/>
   <b/> - we are here
 </line>
<root> 

In your example select="count(../preceding-sibing::* + 1)" we get 
3 because 
it will count "some_tag" too. But we need to count only "line" elements.
How we can solve this problem? 

Jenya 


David Carlisle writes: 


We are in tag "b",
note that xslt works on elements (element nodes) not tags, and importat
distinction.  

 We want to find out what is position of our ancestor 
in their ancestor.

I think you mean parent rather than ancestor: 

 select="count(../preceding-sibing::* + 1)" 


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