RE: XPath question
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
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