RE: [xsl] Recursion Examples

Subject: RE: [xsl] Recursion Examples
From: "Jon Wynacht" <jwynacht@xxxxxxxxx>
Date: Mon, 30 Apr 2001 22:39:31 -0700
Exactly. The output file should look something like this:

foo
---foo
----foo
-----foo

not sure what you are doing with the xsl:text here though...

Jon

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Larry
Garfield
Sent: Monday, April 30, 2001 8:04 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Recursion Examples


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



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread