RE: [xsl] passing parameter to template

Subject: RE: [xsl] passing parameter to template
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 2 Jul 2003 21:51:10 +0100
The apply-templates on document() is not going to invoke the template
with match="item", because document() is a document (root) node and
"item" matches an element. So if it's being called at all then the call
is indirect, via a built-in template; and built-in templates do not pass
their parameters on. 

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Fei Zheng
> Sent: 02 July 2003 18:21
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] passing parameter to template
> Hi all,
> I am having a problem with passing a paramter to template. It 
> works without using a second xml. Do you know how to code it 
> working with a second xml? 
> This is code which has no value pass into template. Anything 
> I am doing wrong?   Thanks!
> <xsl:for-each select="tech">
> 	<xsl:variable name="current-tech" select="@descr"/> 
> 	<xsl:apply-templates select="document('report.xml')" 
> mode="report">
> 		<xsl:with-param name="current" select="$current-tech"/>
> 	</xsl:apply-templates>
> </xsl:for-each>
> <xsl:template match="item" mode="report">
> <xsl:param name="current" />
> 	<xsl:if test="($current = metadata/technology)">
> 		<xsl:value-of select="content/company/." /><br/>
> 	</xsl:if>
> </xsl:template>
>  XSL-List info and archive:

 XSL-List info and archive:

Current Thread