Subject: RE: XPath question
From: "Andy J. Cupp" <acupp@xxxxxxxxxxxxxxx>
Date: Mon, 3 Feb 2003 16:44:59 -0600
|
Charles,
I don't think you can combine 2 axes (such as parent and preceding-sibling) in just one xpath statement. I think you will need 2 steps. First, make the parent the context node, and then refer to the parent's preceding-sibling, like this:
<xsl:for-each select="parent::node()">
<!--Inside this for-each, the parent is now the context node-->
<xsl:variable name="elementCount" select="count(preceding-sibling::node())"/>
</xsl:for-each>
Hope this helps,
Andy
-----Original Message-----
From: cknell@xxxxxxxxxx [mailto:cknell@xxxxxxxxxx]
Sent: Monday, February 03, 2003 4:22 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: XPath question
Every time I think I have a good grasp on XPath, it slips between my fingers. Consider the following XML:
<menu>
<item title="Vegetables">
<item title="tubers">
<item title="potatoes">
<item>Idaho</item>
<item>Maine</item>
<item>Russet</item>
<item>Yam</item>
</item>
</item>
</item>
<item title="Fruits">
<item title="Apples>
<item>Fuji</item>
<item>Granny Smith</item>
<item>Rome</item>
</item>
<item>Milk</item>
</menu>
I have an HTML application for which I must flatten out the hierachy of this XML document, yet still maintain a link to the parent element for each child element. To this end I have decided to number each element according to its position in the hierarachy and use a "dot-delimitted" format for each element's id (i.01.03.11). I have struggled in vain today to come up with an XPath expression which would tell me how many elements are on the preceding-sibling axis of the parent of a given node. Can anyone straighten me out on this?
Thanks.
--
Charles Knell
cknell@xxxxxxxxxx - email
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- XPath question
- cknell - Mon, 3 Feb 2003 17:20:38 -0500 (EST)
- <Possible follow-ups>
- Andy J. Cupp - Mon, 3 Feb 2003 17:49:51 -0500 (EST) <=
- Ross Ken - Mon, 3 Feb 2003 17:57:31 -0500 (EST)
- cknell - Tue, 4 Feb 2003 10:36:08 -0500 (EST)
|
|