RE: [xsl] calling template with parameters

Subject: RE: [xsl] calling template with parameters
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Tue, 9 Jan 2001 13:27:11 -0000
> I have a problem passing a parameter.
> 
> Why is the parameter in template "newslist" empty??

Because built-in templates do not pass their parameters through unchanged.
Your shownews template rule calls the newslist template rule via the
built-in rule for the root node. Change it to
"document('news/news.xml')/newlist" and all will be well.

Mike Kay
> 
> 
> 	<xsl:template match="shownews">
> 		<xsl:variable name="count" select="@count"/>
> 		Here it works: <xsl:value-of select="$count"/>	
> 		<xsl:apply-templates select="document('news/news.xml')">
> 			<xsl:with-param name="newscount" 
> select="$count"/>
> 		</xsl:apply-templates>  
> 	</xsl:template>
> 	<xsl:template match="newslist">
> 		<xsl:param name="newscount"/>		
> 		now newscount is empty: <xsl:value-of 
> select="$newscount"/>
> 		<!-- At this point, I want to process 
> $newscount elements of
> 		type <news>, but the parameter newscount is empty.-->
> 	</xsl:template>
> 
> 
> ### news/news.xml ###
> <newslist>
> 	<news id="123">
> 		<title>important news</title>
> 		<created>18.12.2000</created>
> 		<expires/>
> 		<content>foo</content>
> 		<created_by>rh</created_by>
> 	</news>
> </newslist>
> #####################
> 
> 
> Thanks,
> Roman
> 
>  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