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 13:19:20 -0400
I agree. I think both parsers and XSLT processors should make the full path
available. I'm not excluding XSLT here because there are times when it is
useful to persist bookmarks to the original document.

Khalid

----- Original Message -----
From: "Jonathan Asbell" <jonathan.asbell@xxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxx>
Sent: Wednesday, May 31, 2000 11:34 AM
Subject: RE: === Identifying a unique node in a DOM tree ===


> My point of view is if the parser is going to go through the motion of
> parsing, how much more trouble is it to grab the full path and make it a
> temporary property of the node?
>
> -----Original Message-----
> From: Khalid Asad [mailto:asad@xxxxxxxxxxxxx]
> Sent: Wednesday, May 31, 2000 10:29 AM
> To: xsl-list@xxxxxxxxxxxxxxxx
> Subject: Re: === Identifying a unique node in a DOM tree ===
>
>
> 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
>
>
>  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