This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Recursion Examples
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Recursion Examples
- From: Larry Garfield <lgarfiel at students dot depaul dot edu>
- Date: Mon, 30 Apr 2001 22:04:00 -0500
- Organization: DePaul University
- References: <NABBJDOPDKGCDCNBNEDOEELBIFAA.jwynacht@cisco.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Assuming by "tree" you mean an output file, in the example below I'm using
XHTML. I'm not 100% certain of the syntax but this is the logic you would want
to use.
<xsl:template match="version">
<ul>
<li>
<xsl:apply-templates select="module[parentid='0']" />
</li>
</ul>
</xsl:template>
<xsl:template match="module">
<ul>
<li>
<xsl:value-of select="name" />
<xsl:apply-templates>
<xsl:attribute name="select">
<xsl:text>../module[@parentid='</xsl:text><xsl:value-of
select="id" /><xsl:text>']</xsl:text>
</xsl:attribute>
</xsl:apply-templates>
</li>
</ul>
</xsl:template>
Jon Wynacht wrote:
> Hi,
>
> I was hoping somebody could point me to an example of buidling a tree down
> to n nodes. I have xml that looks like this:
>
> <version>
> <module>
> <id>0</id>
> <name>foo</name>
> <parentid>root</parentid>
> </module>
> <module>
> <id>1</id>
> <name>foo</name>
> <parentid>0</parentid>
> </module>
> <module>
> <id>2</id>
> <name>foo</name>
> <parentid>1</parentid>
> </module>
> <module>
> <id>3</id>
> <name>foo</name>
> <parentid>2</parentid>
> </module>
> </version>
>
> There could be multiple module elements each with different parentid and I
> need to be able to build a tree that represents the data. I'm sure somebody
> has done this before.
>
> Pointers? Links? Thoughts?
>
> Thanks,
>
> Jon
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
--
Larry Garfield
lgarfiel@students.depaul.edu
Do you have a PalmOS Organizer? Click here to add me to your address book:
http://signature.coola.com/?lgarfiel@students.depaul.edu
-- "If at first you don't succeed, skydiving isn't for you." :-)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list