[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] recursive addition

Subject: Re: [xsl] recursive addition
From: "M. David Peterson" <m.david@xxxxxxxxxx>
Date: Wed, 14 Jan 2004 16:56:23 -0700

If all the folders within a root folder have the same 'id' (what would be
the point of having the 'id' attribute on the child folder elements?) you
could do this:

<xsl:value-of select="sum(//folder[@id = 'dir0']/@files)"/>

If they dont then this would do the trick:

<xsl:value-of select="sum(//folder[@id = 'dir0']/@files) + sum(//folder[@id
= 'dir0']//folder/@files)"/>

Im even more confused from your explanation than I was the first time around
but I think one of these will help you get to where you want to go.

Best of luck,


----- Original Message ----- 
From: <annirack@xxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, January 14, 2004 3:58 PM
Subject: Re: [xsl] recursive addition

> > The semantics are most definitely unclear but im assuming that you
> > know what
> > you want to gain out of adding dir2 and dir3.
> I apparently didn't explain myself well at all.  Sorry about that, here's
another attempt:
> I have an XML file that represents a file system, and has a flat file
> All folder nodes are siblings and all file nodes are children of a folder
node.  To represent a folder being within another folder, a file node can be
a link to a folder node.
> Each folder node has an attribute that indicates how many files it
> I want to know how many files are in all the subfolders of a given folder.
> I don't know if this is even possible in xsl 1.0
> If it were not a flat file structure, it would seem easier... since I
could select all subfolders using  "root/folder[@id="some id"]//folder" and
some form of recursive algorithm could probably handle the rest.
> --Brendan
>  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