Subject: Re: [xsl] Printing ancestor elements of all element nodes From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Thu, 4 Aug 2005 09:04:00 +0530 |
Thanks Mike.. Regards, Mukul On 8/3/05, Michael Kay <mike@xxxxxxxxxxxx> wrote: > <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, Michael Kay | Thread | RE: [xsl] Grouping text nodes, Michael Kay |
[xsl] Parsing XML from a CDATA Stru, Olson Family | Date | AW: [xsl] xsl:key function help, David Preuss |
Month |