xsl-list
[Top] [All Lists]

RE: passing parameter to template

2003-07-02 13:51:10

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



<Prev in Thread] Current Thread [Next in Thread>