[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: problem passing parameter to apply-templates
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@xxxxxxxxxxxx] > Sent: 30 August 2005 23:41 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|