|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Printing ancestor elements of all element nodes
<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: 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|







