Hi, I'll try and keep this as short as possible...I'm using the WebFXTree (webfx.eae.net) component on my site. The treeview,described in javascript(1), is dynamically generated from the XML description(2)using a rather long-winded XSL transformation(3).My question is "can this XSL code be condensed at all?"(1) Javascript Treeview Definitionvar tree = new WebFXTree('Portfolio');var a = new WebFXTreeItem('Folder 1');tree.add(a);var b = new WebFXTreeItem('Folder 2');tree.add(b);b.add( new WebFXTreeItem('Folder 2a') );b.add( new WebFXTreeItem('Folder 2b') );var c = new WebFXTreeItem('Folder 3');tree.add(c);document.write(tree);(2) XML Treeview Description<TREE label="root"><FOLDER label="Folder 1"/><FOLDER label="Folder 2"><FOLDER label="Folder 2a"/><FOLDER label="Folder 2b"/></FOLDER><FOLDER label="Folder 3"/></TREE>(3) XSL to transform (2) into (1)<xsl:template match="TREE">var tree = new WebFXTree('<xsl:value-of select="@label"/>');<xsl:apply-templates/>document.write(tree);</xsl:template><!-- =================== --><!-- Top Level Folder --><xsl:template match="FOLDER[parent::TREE]"><xsl:variable name="FirstLevelID"><xsl:number value=http://forums.devx.com/archive/index.php/"position()" format="a"level="any"/></xsl:variable>var <xsl:value-of select="$FirstLevelID"/> = new WebFXTreeItem('<xsl:value-ofselect="@label"/>');tree.add(<xsl:value-of select="$FirstLevelID"/>);<xsl:apply-templates select="FOLDER"><xsl:with-param name="parentID" select="$FirstLevelID"/></xsl:apply-templates></xsl:template><!-- ========== --><!-- Folder --><xsl:template match="FOLDER[child::FOLDER]" priority="-1"><xslaram name="parentID"/><xsl:variable name="FolderLevelID"><xsl:number format="a" level="any"/></xsl:variable>var <xsl:value-of select="$FolderLevelID"/> = new WebFXTreeItem('<xsl:value-ofselect="@label"/>');<xsl:value-of select="$parentID"/>.add(<xsl:value-of select="$FolderLevelID"/>);<xsl:apply-templates select="FOLDER"><xsl:with-param name="parentID" select="$FolderLevelID"/></xsl:apply-templates></xsl:template><!-- ============= --><!-- End Folder --><xsl:template match="FOLDER" priority="-2"><xslaram name="parentID"/><xsl:copy-of select="$parentID"/>.add( new WebFXTreeItem('<xsl:value-of select="@label"/>'));</xsl:template>