Subject: RE: grabbing the path to a particular node From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 08 Aug 2000 16:58:32 +0100 |
At 10:08 AM 8/8/00 +0100, Jeni wrote: >It is actually possible to do this without recursion because the >ancestor-or-self axis gives you a list of the nodes that are ancestors of >the current node (or the current node itself). You can *iterate* over this >list instead: > ><xsl:for-each select="ancestor-or-self::*"> > <xsl:text>/</xsl:text> > <xsl:value-of select="name()" /> ></xsl:for-each> It works this way because xsl:for-each, by default, processes the selected nodes in document order, which is down from the root, even though the axis itself goes in reverse. This is pretty subtle. You can change the order of its processing by using a sort. So (again, without the recursion) to get them in reverse order, we could use <xsl:for-each select="ancestor-or-self::*"> <xsl:sort select="count(ancestor::*)" order="descending"/> <xsl:value-of select="concat('/', name())"/> </xsl:for-each> Cheers, Wendell ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: grabbing the path to a particul, Jeni Tennison | Thread | RE: grabbing the path to a particul, Richard Lander |
RE: RegExp as an extension function, Wendell Piez | Date | Complete XSLT Reference and interac, Miloslav Nic |
Month |