xsl-list
[Top] [All Lists]

Re: recursive addition

2004-01-14 17:46:50
I'm really not doing very well here, am I?

I said *IF* it were a nested, rather than flat, file structure, I could do 
that.  As it is, I cannot.  

Perhaps the way to go is to write an xslt to convert from the flat file format 
to a nested one.

--Brendan

----- Original Message -----
From: "M. David Peterson" <m(_dot_)david(_at_)mdptws(_dot_)com>
Date: Wednesday, January 14, 2004 3:56 pm
Subject: Re: [xsl] recursive addition

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 
filestructure.
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




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



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