Subject: Re: [xsl] most efficient flat file listing to hierarchical From: George Cristian Bina <george@xxxxxxxxxxxxx> Date: Thu, 11 Jan 2007 15:50:37 +0200 |
<xsl:function name="f:baseFolder"> <xsl:param name="value" as="xs:string"/> <xsl:variable name="tokens" select="tokenize($value, '/')"/> <xsl:value-of select="$tokens[position()!=last()]" separator="/"/> </xsl:function> <xsl:key name="folder" match="item" use="f:baseFolder(.)"/>
<xsl:template match="listing"> <dir> <xsl:call-template name="list"/> </dir> </xsl:template>
<xsl:template name="list"> <xsl:param name="folder" select="''"/> <xsl:for-each select="key('folder', $folder)"> <xsl:choose> <xsl:when test="key('folder', .)"> <dir name="{translate(substring-after(., $folder), '/', '')}"> <xsl:call-template name="list"> <xsl:with-param name="folder" select="."/> </xsl:call-template> </dir> </xsl:when> <xsl:otherwise> <file name="{translate(substring-after(., $folder), '/', '')}"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] most efficient flat file , James Fuller | Thread | Re: [xsl] most efficient flat file , Mukul Gandhi |
Re: [xsl] most efficient flat file , James Fuller | Date | [xsl] Pivot Reports, Vitaliy Paykov |
Month |