Re: [xsl] Recursion Examples

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