xsl-list
[Top] [All Lists]

RE: Getting the XPath of a node

2002-09-04 12:16:32
Hi Dennis

I know you've have had plenty of replies on this one, but I just have to send 
you my 'generateXPath' named template. It work well and is in production on my 
current project (not wanting to suggest that any of the other replies would not 
work). Also I like it :-)

<xsl:template name="generateXPath"> 
                <xsl:for-each select="ancestor::*">/<xsl:value-of 
select="name()"/>[<xsl:number/>]</xsl:for-each>/<xsl:value-of 
select="name()"/>[<xsl:number/>]</xsl:template> 

Call this template at the context where you want the unique XPath inserted into 
the output.

Note: keep this template all on one line (i.e. no whitespace or nice indenting) 
- I use the generated XPath in a javascript function - whitespace in the 
template = gaps in the generate XPath = stuffed up the javascript function.

Hope that helps.

cheers

Malcolm 


-----Original Message-----
From: Dennis [mailto:maillistboxes(_at_)yahoo(_dot_)com]
Sent: Wednesday, September 04, 2002 4:03 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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(_at_)netscape(_dot_)com</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



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