RE: [xsl] Get position of parent

Subject: RE: [xsl] Get position of parent
From: "Philip Vallone" <philip.vallone@xxxxxxxxxxx>
Date: Sat, 17 Jan 2009 14:31:16 -0500
Thank you.

Regards,

Phil


-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx] 
Sent: Saturday, January 17, 2009 11:53 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Get position of parent

It rather depends what you mean by "position", but if you mean the number of
preceding siblings plus one, you can use

count(../preceding-sibling::*)+1

or if you prefer

<xsl:number select=".." count="*"/>

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: Philip Vallone [mailto:philip.vallone@xxxxxxxxxxx]
> Sent: 17 January 2009 13:42
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Get position of parent
> 
> Hello List,
> 
> What is the best way to get the position of a parent node? In the 
> below xml, assume my context node is para:
> 
> /table/tgroup/tbody/row/entry[1]/para
> 
> If my context node is para, how do I get the position of its parent 
> entry?
> 
> <table frame="all" align="center" id="C-TABLE3" width="90%">
> 	<title>Title</title>
> 	<tgroup cols="3">
> 		<colspec colnum="1" colname="spycolgen1" colwidth="*"/>
> 		<colspec colnum="2" colname="spycolgen2" colwidth="*"/>
> 		<colspec colnum="3" colname="spycolgen3" colwidth="*"/>
> 		<tbody>
> 			<row>
> 				<entry>
> 					<!--get position of
> parent::entry-->
> 					<para id="table3-para 1">context
> node</para>
> 				</entry>
> 				<entry>
> 					<para>test</para>
> 				</entry>
> 				<entry>
> 					<para>test</para>
> 				</entry>
> 			</row>
> 		</tbody>
> 	</tgroup>
> </table>
> 
> 
> 
> 
> Thanks
> Phil

Current Thread