xsl-list
[Top] [All Lists]

RE: problem passing parameter to apply-templates

2005-08-31 01:44:24
I haven't studied your code in detail, but a common pitfall in this area is
the situation where the element hierarchy is A/B/C:

template A does xsl:apply-templates with parameters

there is no template for B, so the built in template gets invoked

the built in template for B invokes the template for C

the template for C sees no parameters


This is because (in XSLT 1.0) built-in templates do not pass their
parameters on.

With multiple documents, this problem often occurs because people do
apply-templates on the root (document) node, but write a template rule to
process the top-level element, so the built-in template for the root node
loses the parameters.

Michael Kay
http://www.saxonica.com/



-----Original Message-----
From: Paula Estrella [mailto:paula_ile2003(_at_)yahoo(_dot_)com(_dot_)ar] 
Sent: 30 August 2005 23:41
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] problem passing parameter to apply-templates 

Hi all, I'm trying to pass a parameter to a template
by using apply-templates (as showed in the stylesheet
below) but I don't get the value of the parameter when
the template is applied, i.e I should print "blabla"
but instead I get nothing (a null value or empty
string?).
I also read somewhere that this might be a kind of bug
of the xslt processor; I'm using the Cocoon framework,
which uses xalan to process xslt (I guess v. 1.0)

Although I found another (dirty) solution to get what
I want, I'd really like to know what's the error here
so I can learn from my mistakes ...

Thanks in advance,
Paula

<!-- short version of the stylesheets -->
<xsl:template match="page">
 <xsl:apply-templates select="title"/><br/>
 <xsl:apply-templates
select="document('../xml/clasif2.xml')/clasif2">
 <xsl:with-param name="nodes" select="'blabla'"/> 
 </xsl:apply-templates>
</xsl:template>

<xsl:template match="item">
<xsl:param name="nodes"/>

<xsl:value-of select="$nodes"/>
</xsl:template>

<!-- xml file to which the above stylesheet is applied
-->
<page>
<title>some title</title>
<checked>
<xsp:attribute name="data">
102
</xsp:attribute>
</checked>
</page>



      

      
              
___________________________________________________________ 
1GB gratis, Antivirus y Antispam 
Correo Yahoo!, el mejor correo web del mundo 
http://correo.yahoo.com.ar 


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--