[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] How to get XPath in a XSLT shylesheet
- From: Rick Jelliffe <rjelliffe@allette.com.au>
- To: xml-dev@lists.xml.org
- Date: Tue, 09 Jan 2007 18:26:32 +1100
Long JingJun wrote:
> Hi all,
>
> My original target is to get the XPath to identify the location of an element in the XML output (as location attribute for an example). So that I can find the original place in the source file when I go through the generated XML output. What I mean full XPath is like this: /document/chapter[2]/section[3]/subject[1]/para[2]
>
> Thanks all. You answered my question.
>
Heres the code we use in Schematron (I think from David Carlisle
originally?)
<xsl:template match="*|@*" mode="get-full-path">
<xsl:apply-templates select="parent::*" mode="get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:if test="count(. | ../@*) = count(../@*)">@</xsl:if>
<xsl:value-of select="name()"/>
<xsl:text>[</xsl:text>
<xsl:value-of
select="1+count(preceding-sibling::*[name()=name(current())])"/>
<xsl:text>]</xsl:text>
</xsl:template>
(XSLT question are better dealt with on the mulberry XSLT list.)
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]