Re: === Identifying a unique node in a DOM tree ===

Subject: Re: === Identifying a unique node in a DOM tree ===
From: "Khalid Asad" <asad@xxxxxxxxxxxxx>
Date: Wed, 31 May 2000 10:29:19 -0400
I just can't help asking again ... why, why, why is there not an XPATH
function as part of the XSLT spec? All these loops will kill performance and
it's not even obvious (based on the number of questions on the subject) how
to get the function right.

Khalid

----- Original Message -----
From: "Francis Norton" <francis@xxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxx>
Sent: Tuesday, May 30, 2000 5:29 PM
Subject: Re: === Identifying a unique node in a DOM tree ===


> Jonathan Asbell wrote:
> >
> ...
>
> > I want to be able to ask the node.."who are you" and it would reply "I
am
> > currently /.people.person.name.John"
> >
>
> David did come up with the solution to this as a one-liner (which I
> luckily saw before I could post my own particularly horrid and laborious
> solution).
>
> Just for completeness, I packaged his solution into two call-by-name
> templates (for attributes and templates) which I've re-posted below only
> because the xsl-list archive seems to be down right now.
>
> Hope this helps -
>
> Francis.
>
>
>
> <!-- paths from elements -->
> <xsl:template name="elementPath">
>   <xsl:for-each select="(ancestor-or-self::*)">/*[<xsl:value-of
>     select="1+count(preceding-sibling::*)"/>]</xsl:for-each>
> </xsl:template>
>
> <!-- paths from attributes -->
> <xsl:template name="attributePath">
>   <xsl:for-each select="parent::*">
>     <xsl:call-template name="elementPath" />
>   </xsl:for-each>
>   <xsl:text>/@</xsl:text>
>   <xsl:value-of select="name(.)"/>
> </xsl:template>
>
>
>  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