[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Determining the position of a specific node in the
> "Give me the position of a specific node in the context" so long as by context you mean what the spec means, which is its position in the current sequence (current node list in 1.0 terminology) not its position in the input tree. position() never relates to teh input tree at all, the same node will have diffeerent values of position() depending on how it was selected, for example if it is selected with self:: or parent:: it will have position()=1. <xsl:variable name="p" select="(node()[...predicate...]/position())[1]"/> with the [1] added to make it a singleton, and is equivalently still best written in XPath 1 as <xsl:variable name="p" select="count(node()[...predicate...][1]/preceding-sibling::node()) + 1"/> they are not equivaent. The first one will always return 1 as the first position in a sequence is always 1. The second one returns the position in the sequence of child nodes of teh selected predicate, if there is 1, and 0 otherwise. (Beware though usually when doing thois sort of thing you want to use * rather than node() otherwise you will be thrown off by indentation white space, comments etc. David 1
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|