xsl-list
[Top] [All Lists]

RE: Get Position of Node in Ancestor Context

2003-03-10 13:07:03
You are following the well-trodden mistake of thinking "I want the
position of something, therefore I need the position() function".

The position() function gives you the position of a node in the list of
nodes you are currenly processing.

If you want the position of a node relative to related nodes in the same
tree, there are two ways of doing it: xsl:number, and count(). For
example, count(preceding::*). In this example, xsl:number is a better
bet. 

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 

-----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 
Ted Stresen-Reuter
Sent: 10 March 2003 15:21
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Get Position of Node in Ancestor Context


Hi,

I'm trying to get the position of the current node in the 
context of an 
ancestor.

For example, I have a form element that has a number of children 
elements, including non-form elements (such as P and DIV 
elements). I'm 
trying to retrieve the position of an INPUT element relative to the 
parent FORM element, but not taking into account any non-form 
elements 
(such as P and DIV elements).

Currently I have a template that matches "input | select | textarea" 
but because they occur in the context of a TD element, position() 
returns "1". I've tried using <xsl:value-of 
select="ancestor::form/*/*[position()]" />, but this just isn't doing 
the trick.

Any suggestions how I can get the position of the current element 
relative to a parent form element?

Ted Stresen-Reuter


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



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



<Prev in Thread] Current Thread [Next in Thread>