Re: [xsl] XPath for the selected node

Subject: Re: [xsl] XPath for the selected node
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Thu, 19 Jul 2007 03:44:30 +0200
I don't know much about xquery, but in XSLT you can do this on any path:

<xsl:value-of select="ancestor-or-self::*/name()" separator="/" />

Or, not tested, the following if you need the depth as well:

<xsl:value-of separator="/">
<xsl:for-each select="ancestor-or-self::*">
<xsl:value-of select="name()" />
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name() = current()/name()]" />
<xsl:text>]</xsl:text>
</xsl:for-each>
</xsl:value-of>



Cheers, -- Abel

v vijith wrote:
Dear All,
I have an XML which has the structure like

<root>
    <data>
         <node1>Welcome </node1>
         <node2 refid="22">Some data</node2>
     </data>
     <anotherdata>
              <sometype refid=33>welcome</sometype>
      </anotherdata>
</root>

Using Xquery is there a way to find the xpath of all the nodes that
has refid as an attribute? For the above case, the answer that I would
be looking at it

root/data/node2
root/anotherdata/sometype

I went through some of the posts and found that saxon:path is an
option. Do I have any other way of doing it?

Any kind of pointer is appreciated!!

Thanks
Vij

Current Thread