|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: n-nodes recursive tree
> >There isn't any indentation in the presented output.
>
> There is, though it seems to contain a mix of tabs and spaces.
> I saw this (with tabs converted to 8 spaces):
>
> ==========
> In effect, i will never know the max number of levels in tree node, and so
i'd
> like to obtain an html file formated with xsl and wich looks like that:
>
> Tree
> ---- 1
> ---- 4
> ---- 5
> ---- 7
> ---- 2
> ---- 6
> ---- 3
> ==========
OK, then the solution is rather straightforward:
This transformation:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:apply-templates select="node">
<xsl:with-param name="pstrIndent" select="'
'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="node">
<xsl:param name="pstrIndent"/>
<xsl:variable name="vthisIndent"
select="concat($pstrIndent, '	')"/>
<xsl:value-of select="concat($vthisIndent, '----', id)"/>
<xsl:apply-templates select="node">
<xsl:with-param name="pstrIndent" select="$vthisIndent"/>
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
when applied on the provided source.xml:
<tree>
<node>
<id> 1</id>
<parent> root</parent>
<node>
<id> 4</id>
<parent> 1</parent>
</node>
<node>
<id> 5</id>
<parent> 1</parent>
<node>
<id> 7</id>
<parent> 5</parent>
</node>
</node>
</node>
<node>
<id> 2</id>
<parent> root</parent>
<node>
<id> 6</id>
<parent> 2</parent>
</node>
</node>
<node>
<id> 3</id>
<parent> root</parent>
</node>
</tree>
produces the wanted result:
---- 1
---- 4
---- 5
---- 7
---- 2
---- 6
---- 3
Hope this helped.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|

Cart








