[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] recursive template


Subject: Re: [xsl] recursive template
From: omprakash.v@xxxxxxxxxxxxx
Date: Tue, 25 Jan 2005 19:10:40 +0530

Hi,
    How do I refer to the attributes of a 'local' node inside a
<xsl:for-each>.

I am doing the following

<xsl:template name="PrintHeader">
<xsl:param name="attrname"/>
<xsl:param name="attrtype"/>

// attrname = a
// attrtype = b

<xsl:for-each select="child::*">

     attrname = c
     attrtype = d
     // c and d can also be empty
     // I would like to update my attrname and attrtype to c and d

Regards,
Omprakash.V








                                                                                                                     
                    omprakash.v@pol                                                                                  
                    aris.co.in             To:     xsl-list@xxxxxxxxxxxxxxxxxxxxxx                                   
                                           cc:     (bcc: omprakash.v/Polaris)                                        
                    01/25/2005             Subject:     [xsl] recursive template                                     
                    04:29 PM                                                                                         
                    Please respond                                                                                   
                    to xsl-list                                                                                      
                                                                                                                     
                                                                                                                     





Hi,
         Iam having difficulty in getting this recursive call to a template
to work as expected.

I call once from main as follows:

<xsl:call-template name="study">
<xsl:with-param name="attrname" select="@name"/>
<xsl:with-param name="path" select="@type"/>
</xsl:call-template>


And I have the following in my 'study' template:

<xsl:template name="study">
<xsl:param name="attrname"/>
<xsl:param name="path"/>

<xsl:for-each select="child::*">

<!-- (A) -->
<xsl:message>name = <xsl:value-of select="@name"/></xsl:message>
<xsl:message>type = <xsl:value-of select="@type"/></xsl:message>

<!-- just a check to recurse selectively into some child nodes -->
<xsl:if test="not(substring-before(@type,':')='ps')">
 <!-- (B) -->
     <xsl:call-template name="study">
     <xsl:param name="attrname" select="@name"/>
     <xsl:param name="path" select="@type" />
     </xsl:call-template>
</xsl:if>
</xsl:for-each>

</xsl:template>


At (A), I would like to print out recursively the name and type attributes
of all the child nodes.
But the value remains constant, the same as I passed in from main.

I can however see that the correct value gets printed at (B).


Any suggestions are welcome.

Regards,
Omprakash.V




This e-Mail may contain proprietary and confidential information and is
sent for the intended recipient(s) only.
If by an addressing or transmission error this mail has been misdirected to
you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction,
dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its
attachment other than by its intended recipient/s is strictly prohibited.

Visit Us at http://www.polaris.co.in






This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. 
If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.

Visit Us at http://www.polaris.co.in


Current Thread