[xsl] Re: How can I get the XPATH of the current node ?

Subject: [xsl] Re: How can I get the XPATH of the current node ?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 10 Oct 2002 13:50:58 -0700 (PDT)
--- Louis Meigret  wrote:
 
> First of all, thanks a lot to Jörg for pointing me to the Muenchian
> method.Relentlessly learning.
> 
> I have another question : I would like to get the Xpath value of the
> current node. I am done some homework and tried this method suggested
> by Jeni Tennison : 
> 
> « To get an XPath that's guaranteed to be unique, you need to use the
> index of the element within its parent rather than its
> attributevalues.
> An easy way is to use recursion with the ancestor-or-self axis:
> 
>   <xsl:for-each select="ancestor-or-self::*">
>     <xsl:text />/<xsl:value-of select="name()" />
>     <xsl:text />[<xsl:number />]<xsl:text />
>   </xsl:for-each>
> 
> Cheers,
> 
> Jeni »
> 
> Unfortunately, this does not print any number between the square
> brackets (with Xalan). I thought of adding value="position()", but
> this
> would be the position within this context (the for-each), not very
> useful.
> 
> Any suggestion to solve what would be useful debugging information
> (in
> my case) ?
> 
> Thanks
> 
> Louis

Hi Louis,

Do have a look at:

http://www.topxml.com/code/default.asp?p=3&id=v20010323001030

or at:

http://www.dpawson.co.uk/xsl/sect2/N6077.html#d177e20

This is a more complete solution, which will generate the XPath
expression not only for an element but for any type of node -- text,
PI, comment, root, attribute and namespace.

Also, positional predicates are not used when they are not necessary,
which results in a more compact and readable XPath expression




=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread