Subject: RE: [xsl] most efficient flat file listing to hierarchical From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 11 Jan 2007 10:05:56 -0000 |
An outline design for XSLT 2.0: write a recursive template that does <xsl:for-each-group select="$in" group-by="tokenize(.,'/')[$n]"> Initially call this with $in := the sequence of item elements, $n := 1. On subsequent calls, $in := current-group(), $n := $n+1. for-each-group does nothing if the population is empty, so the recursion will terminate naturally. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: James Fuller [mailto:jim.fuller@xxxxxxxxxxxxxx] > Sent: 11 January 2007 08:53 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] most efficient flat file listing to hierarchical > > Hello All, > > Can anyone propose a pure xslt (1 or 2) solution to > transforming the following flat xml structure of directory > paths into a hierarchical > (nested) xml. > > <?xml version='1.0'?> > <listing> > <item>cn/test.xml</item> > <item>en</item> > <item>en/test.html</item> > <item>en/test1.html</item> > <item>en/resource</item> > <item>en/resource/style</item> > <item>en/resource/style/test.css</item> > <item>favicon.ico</item> > <item>cn</item> > </listing> > > to > > > <dir> > <file name="favicon.ico"/> > <dir name="cn"> > <file name="test.xml"/> > </dir> > <dir name="en"> > <file name="test.html"/> > <file name="test1.html"/> > <dir name="resource"> > <dir name="style"> > <file name="test.css"/> > </dir> > </dir> > </dir> > </dir> > > thx in advance. > > cheers, Jim Fuller
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] most efficient flat file list, James Fuller | Thread | Re: [xsl] most efficient flat file , Andrew Welch |
[xsl] most efficient flat file list, James Fuller | Date | Re: [xsl] most efficient flat file , Andrew Welch |
Month |