|
Subject: Re: [xsl] Recursion Examples From: Larry Garfield <lgarfiel@xxxxxxxxxxxxxxxxxxx> Date: Mon, 30 Apr 2001 22:04:00 -0500 |
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@xxxxxxxxxxxxxxxxxxx
Do you have a PalmOS Organizer? Click here to add me to your address book:
http://signature.coola.com/?lgarfiel@xxxxxxxxxxxxxxxxxxx
-- "If at first you don't succeed, skydiving isn't for you." :-)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Recursion Examples, Jon Wynacht | Thread | |
| Re: [xsl] XSL warning : can not loa, Gavin Corfield | Date | |
| Month |