RE: [xsl] xsl:variable question

Subject: RE: [xsl] xsl:variable question
From: "Long Zhao" <LZhao@xxxxxxxxxxxxxxxx>
Date: Wed, 19 Dec 2001 16:40:56 -0600
you are right on the first comment
for your second comment, since the variable is declared in top level
template, so you do not need to pass the para when calling "dosomething"

thanks

Long

-----Original Message-----
From: Oleg Tkachenko [mailto:olegt@xxxxxxxxxxxxx]
Sent: Wednesday, December 19, 2001 5:10 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] xsl:variable question


Hello Long!

choose

1. Machine answer: Your second stylesheet is ill-formed because of wrong
</template> end-tag, it's probably </xsl:template>.

2.Both stylesheets will not work because of unresolved variable
reference in the template named "dosomething".
If you want $mode in the second template, pass it as parameter:
<xsl:template match="/">
	<xsl:variable name="mode">1</xsl:variable>
	<xsl:call-template name="dosomething">
		<xsl:with-param name="mode" select="$mode"/>
	</xsl:call-template>
	......
</xsl:template>
	<xsl:template name="dosomething">
	<xsl:param name="mode"/>
	<xsl:if test="$mode='1'">
		.....
	</xsl:if>
	.....
</xsl:template>

---
Oleg Tkachenko,
Multiconn International, Israel 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Long Zhao
> Sent: Wednesday, December 19, 2001 11:28 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] xsl:variable question
> 
> 
> hi everyone
> 
> here are two xsl files :
> 
> <xsl:template match="/">
> 	<xsl:variable name="mode">1</xsl:variable>
> 	......
> </xsl:template>
> 
> <xsl:template name="dosomething">
> 	<xsl:if test="$mode='1'">
> 		.....
> 	</xsl:if>
> 	.....
> </template>
> ------------------------------------
> <xsl:template match="/">
> 	<xsl:variable name="mode" select='1'/>
> 	......
> </xsl:template>
> 
> <xsl:template name="dosomething">
> 	<xsl:if test="$mode='1'">
> 		.....
> 	</xsl:if>
> 	.....
> </template>
> 
> why the first one does not work, but the second one works.
> 
> am i doing anything wrong in the first xsl?
> 
> thanks
> 
> Long
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


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


Current Thread