[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Multiple xml file summation
Hi all, I have found messages in the archive that come close to what I need, but I haven't found the answer, so I would like to pose the following question. I would like to sum numbers from multiple xml input files, while not knowing in advance how many files there will be or their names. They are contain in another xml file: <----- filelist.xml -------> <filenames> <filename>multiplefiletest1.xml</filename> <filename>multiplefiletest2.xml</filename> <filename>multiplefiletest3.xml</filename> </filenames> <----- multiplefiletest1.xml -------> <element1> <element2 name="file1" number="1"/> </element1> <----- multiplefiletest2.xml -------> <element1> <element2 name="file2" number="2"/> </element1> <----- multiplefiletest3.xml -------> <element1> <element2 name="file3" number="3"/> </element1> My stylesheet is processing filelist.xml, and I can cycle through each file listed easy enough: <xsl:template match="/"> <xsl:for-each select="filenames/filename"> File name: <xsl:value-of select="."/> <xsl:variable name="newFile" select="document(.)"/> Name attribute inside file: <xsl:value-of select="$newFile/element1/element2/@name"/> Number attribute inside file: <xsl:value-of select="$newFile/element1/element2/@number"/> <xsl:text> </xsl:text> </xsl:for-each> Total of number attributes: ?????????????????? </xsl:template> <------ output ----------> File name: multiplefiletest1.xml Name attribute inside file: file1 Number attribute inside file: 1 File name: multiplefiletest2.xml Name attribute inside file: file2 Number attribute inside file: 2 File name: multiplefiletest3.xml Name attribute inside file: file3 Number attribute inside file: 3 Total of number attributes: <-----Want "6" here----> But coming up with a total for the number attributes is eluding me. Is this a two step process, going through and writing an xml file with all nodes in it, then transforming that to get the total? It seems like there should be a way to do this in one pass using sum(), as all the values are right there. Hopefully, I'm just missing something simple... Any help is much appreciated. Tom Mitchell
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|