Subject: Re: 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,
M.
----- Original Message -----
From: <annirack@xxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, January 14, 2004 3:58 PM
Subject: Re: 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
structure.
> 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
contains.
>
> 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
|