|
Subject: Re: How to resolve the absolute location of a node From: "Clark C. Evans" <clark.evans@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 17 Oct 1999 15:38:35 -0400 (EDT) |
On Sun, 17 Oct 1999, Jarno Elovirta wrote:
> I'm trying to write a template that would return the absolute location path
> of the node i'm processing. e.g. with processing the c elements of
>
> > <a><b x="y"><c/></b><b x="z" p="q"><c/></b></a>
>
> the templete would return
>
> /a/b[1]/c[1] and /a/b[2]/c[1]
>
How about this?
<xsl:template match="*">
<xsl:call-template name="resolver" />
<xsl:apply-templates/>
</xsl:template>
<xsl:template name="resolver" >
<xsl:for-each select="ancestor-or-self::*">
<xsl:variable name="currpos" select="generate-id(.)" />
<xsl:value-of select="concat('/',name())"/>
<xsl:for-each select="../*" >
<xsl:if test="generate-id(.)=$currpos">
<xsl:text>[</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| How to resolve the absolute locatio, Jarno Elovirta | Thread | Re: How to resolve the absolute loc, Clark C. Evans |
| Re: XSL:FO: Left ... Center ... Ri, James Tauber | Date | Re: XSL:FO: Left ... Center ... Ri, Sebastian Rahtz |
| Month |