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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Fei Zheng
Sent: 02 July 2003 18:21
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list