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: Tue, 01 May 2001 00:54:27 -0500
- Organization: DePaul University
- References: <NABBJDOPDKGCDCNBNEDOOELFIFAA.jwynacht@cisco.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
I wasn't certain if xsl:attribute could take something that fancy otherwise, as
I've not done that particular trick before. As I said, I wasn't 100% certain on
the syntax, it may not be necessary. :-)
Jon Wynacht wrote:
> 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@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Larry
> Garfield
> Sent: Monday, April 30, 2001 8:04 PM
> To: xsl-list@lists.mulberrytech.com
> 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@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
>
> 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