|
Subject: RE: [xsl] Printing ancestor elements of all element nodes From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 3 Aug 2005 12:35:05 +0100 |
<xsl:template match="*" mode="print-ancestors">
<xsl:value-of select="concat(name(), ',')"/>
<xsl:apply-templates select=".." mode="print-ancestors"/>
</xsl:template>
<xsl:template match="/" mode="print-ancestors">root</xsl:template>
<xsl:template match="/">
<xsl:for-each select="//*">
<xsl:value-of select="name()"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select=".." mode="print-ancestors"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx]
> Sent: 03 August 2005 12:04
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Printing ancestor elements of all element nodes
>
> I have this XML document -
>
> <root>
> <a>
> <b>
> <c/>
> <d/>
> <e>
> <f>
> <g/>
> <h/>
> </f>
> </e>
> </b>
> </a>
> </root>
>
> The following output is desired -
> root -
> a - root
> b - a,root
> c - b,a,root
> d - b,a,root
> e - b,a,root
> f - e,b,a,root
> g - f,e,b,a,root
> h - f,e,b,a,root
>
> How to do this with XSLT?
>
> I'll be testing this with both Xalan-J 2.6.0 and Saxon 8.4. I need a
> XSLT 1.0 solution.
>
> Regards,
> Mukul
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Printing ancestor element, Mukul Gandhi | Thread | Re: [xsl] Printing ancestor element, Mukul Gandhi |
| Re: [xsl] Printing ancestor element, Mukul Gandhi | Date | Re: [xsl] Gexslt binary for Win32, Colin Paul Adams |
| Month |