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 |