<xsl:for-each select="ancestor-or-self::*">
<xsl:value-of select="concat(
'/',
name(.),
'[',
count(preceding-sibling::*[name(.)=name(current())])-1,
']')"/>
</xsl:for-each>
(Saxon has a saxon:path extension function)
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Dennis
> Sent: 04 September 2002 10:03
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Getting the XPath of a node
>
>
> Hi All,
>
> Is there any way to get the XPath of a particular
> element and attribute in match template???
>
> Say if I have following XML:
> <Person id="12345">
> <Name>Dennis</Name>
> <Company>Netscape</Company>
> <Address>Mountain View</Address>
> <Email>dennis@xxxxxxxxxxxx</Email>
> </Person>
>
> ----The XSL to print XPath---
> <xsl:template match="Company">
> //Print the XPath of Company as /Person/Company
> </xsl:template>
> More templates corresponding to each element.
>
> How do I do this...any thoughts???
>
> Thanks
> Dennis
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes http://finance.yahoo.com
>
> 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 |
|
Dion Houston - Thu, 5 Sep 2002 04:02:46 -0400 (EDT)
|
|