Subject: RE: recursion From: Oscar Gonzalez <oscar.gonzalez@xxxxxxxxxxx> Date: Wed, 11 Oct 2000 17:00:33 +0200 |
Thanks! It works perfect. Don't believe me, but I haven't found any similar code in 5 hours of Internet searching... :-) Thanks very much. -----Original Message----- From: Alex Albu [mailto:xsl@xxxxxxxxxxxxxxx] Sent: miércoles, 11 de octubre de 2000 15:22 To: xsl-list@xxxxxxxxxxxxxxxx; oscar.gonzalez@xxxxxxxxxxx Subject: Re: recursion Assuming that the root is identified by iParentID=0 and that in your example nodes 2 and 4 should be at the same level (since they're both children of 1): <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:strip-space elements="*"/> <xsl:output method="html" indent="yes"/> <xsl:key name="rowstruct" match="row" use="@iParentID"/> <xsl:variable name="nbsp"> </xsl:variable> <xsl:template match="/"> <!-- start with the root --> <xsl:apply-templates select="//row[@iParentID=0]"/> </xsl:template> <xsl:template match="row"> <xsl:param name="indent"/> <xsl:value-of select="$indent"/><xsl:value-of select="@ItemID"/><br/> <xsl:apply-templates select="key('rowstruct', @ItemID)"> <xsl:with-param name="indent" select="concat($indent, $nbsp)"/> </xsl:apply-templates> </xsl:template> </xsl:stylesheet> Hope this helps, Alex ----- Original Message ----- From: "Oscar Gonzalez" <oscar.gonzalez@xxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxx> Sent: Wednesday, October 11, 2000 6:32 AM Subject: recursion > I have an XML structure like that: > > <row ItemID="1" iParentID="0" szSubject="Msg1"/> > > <row ItemID="2" iParentID="1" szSubject="Msg2"/> > > <row ItemID="3" iParentID="2" szSubject="Msg3"/> > > <row ItemID="4" iParentID="1" szSubject="Msg4"/> > > <row ItemID="5" iParentID="4" szSubject="Msg4"/> > > And I want an XSLT transformation to get this data in a hierarchical tree > like that: > > 1 > 2 > 3 > 4 > 5 > > Can you help me? > > Thanks in advance.... > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: recursion, Alex Albu | Thread | RE: recursion, Joshua Allen |
RE: Copying and transforming/Recurs, Jeff Saylor | Date | Using document() to check the exist, Mac Schwarz |
Month |