xsl-list
[Top] [All Lists]

Re: recursive addition

2004-01-14 16:56:23
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[(_at_)id = 'dir0']/@files)"/>

If they dont then this would do the trick:

<xsl:value-of select="sum(//folder[(_at_)id = 'dir0']/@files) + 
sum(//folder[(_at_)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(_at_)shaw(_dot_)ca>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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
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[(_at_)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



<Prev in Thread] Current Thread [Next in Thread>