xsl-list
[Top] [All Lists]

Re: xsl:for-each question

2003-10-31 02:20:24
Hey, thanks a lot. Thats a great idea. I think that´ll work. I´ve one problem left. I try to call my templates like you wrote it. But then a lots of templates get called and there is a weird display. Is there a possibility to call it like:

....
<body>
       <xsl:call-template name="topic"/>
</body>

.....
<xsl:template name="topic">

        <whatever>
                <xsl:value-of select="@name"/>
                <xsl:if test="topic">
                        <xsl:call-template name="topic"/>
                </xsl:if>
        </whatever>
</xsl:template>

I know that this code will not work, but it´d be great if it could work with 
call-template instead of apply-templates. Any ideas how to change it that it will 
recursively go through my topics?
That´s my xml-file:

<topic name="sdfsdsd">
        <topic name="ghhhhghghg">
                <topic name="fff">
                </topic>
        </topic>
</topic>
<topic name="sdfsdsd">
</topic>
... and so on

Thanks Michael



Cas Tuyn wrote:

Hi,

Building on Manos' idea, you can also do that using CSS, as layout with tables is soooo last century.

Cas

   <xsl:template match="/">
<html><head><link rel="stylesheet" href="sitemap.css" type="text/css"></head><body>
       <xsl:apply-templates/>
        </body></html>
   </xsl:template>

   <xsl:template match="topic">
        <whatever>
                <xsl:value-of select="@name"/>
                <xsl:if test="topic">
                                <xsl:apply-templates/>
                </xsl:if>
        </whatever>
   </xsl:template>

With in the CSS file sitemap.css the following:

whatever { margin-left: 20px; }
whatever whatever { margin-left: 40px; }
whatever whatever whatever { margin-left: 60px; }







XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>