--- Mike Brown <mike at skew dot org> wrote:
Dennis wrote:
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???
<xsl:for-each select="ancestor::*">
<xsl:value-of select="concat('/',name())"/>
</xsl:for-each>
<xsl:value-of select="concat('/',name())"/>
If the current node is an attribute, change that last '/' to '/@'
This will produce an XPath expression, which (while covering the node)
is not unique and probably returns some other nodes in addition to the
current node.
An XPath expression, which evaluates to a single node, must include
predicates showing the positions of the elements forming the path.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________________________
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