OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XPath: position of the parent ?

Hi Gerd,

> How do I express in XPath the position of the parent of a node ? I
> guess it must be something like '../position()', but this don't
> work.

The terminology that's used in XPath can be a little confusing here.
In XPath, the only node that has a position is the context node - the
node you're currently looking at - within the context node list - the
list of nodes that you've selected. If you think about it like that,
then the position of a node's parent is always 1, because when you
select the parent of a node you only select one node.

But I think you're probably after the position of a node's parent node
*in the list of its siblings*. You can get this by counting how many
preceding siblings the parent node has, and adding 1:

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

(You may want to narrow down the types of preceding siblings that you
count, to prevent yourself from counting whitespace.)



Jeni Tennison