xsl-list
[Top] [All Lists]

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

2002-10-10 13:50:58

--- 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



<Prev in Thread] Current Thread [Next in Thread>