Scott, Thank you for the clarification, sort of was expecting the auto params to just be there.
I noticed that the mode does pass through. Is this behaviour specified or does it just happen to work now ?? Regards John G [EMAIL PROTECTED] wrote: > Hi John. Taking a quick look, I don't see how you expect the > apply-templates' cfg param to be passed to <xsl:template match="col" > mode="foo">, since it selects select="$cfg/config/columns" (notice columns > vs. col). So it would first go through the default template and then > ripple down to your "col" template. The default template would swallow and > not pass on the param. If you change the select statement to > "$cfg/config/columns/col" it seems to work fine. > > The XSL WG has considered some sort of feature to auto-pass params. I am a > big advocate of this (in some form), but I think we decided such a feature > would be too much at the moment. > > -scott > > > John Gentilin > <gentijo@eyecatch To: xalan ><[EMAIL PROTECTED]> > ing.com> cc: (bcc: Scott >Boag/Cambridge/IBM) > Subject: apply-templates with-param >bug ?? > 09/10/2002 02:58 > PM > Please respond to > xalan-dev > > > > I am using a variable that holds complex data in my stylesheet. > To reduce the number of times I call xalan:nodeset() on the variable, > I pass the resultant variable as a parameter from template to template. > This works fine in a call-template but when used in a apply-templates, > the variable looks like it is converted into a value instead of a > nodeset. > > Is this a bug ?? > > Regards > John G > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet > version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xalan="http://xml.apache.org/xalan" > extension-element-prefixes="xalan" > exclude-result-prefixes="xalan"> > > <xsl:variable name="CategoryConfig"> > <config> > <columns inDBOrder="true"> > <col name="FundName" width="79mm" colMap="DisplayName" > mode="def"/> > </columns> > </config> > </xsl:variable> > > <xsl:template match="/"> > <xsl:variable name="cfg" select="xalan:nodeset($CategoryConfig)" /> > > <output> > <xsl:copy-of select="$cfg" /> > <!-- Declare the Column Widths --> > <xsl:for-each select="$cfg/config/columns/col"> > <table-column column-width="{@width}"/> > </xsl:for-each> > > <xsl:call-template name="dup"> > <xsl:with-param name="cfg" select="$cfg"/> > </xsl:call-template> > > <xsl:apply-templates select="$cfg/config/columns" mode="foo"> > <xsl:with-param name="cfg" select="$cfg"/> > </xsl:apply-templates> > > </output> > </xsl:template> > > <xsl:template name="dup"> > <xsl:param name="cfg"/> > <xsl:for-each select="$cfg/config/columns/col"> > <table-column column-width="{@width}"/> > </xsl:for-each> > </xsl:template> > > <xsl:template match="col" mode="foo"> > <xsl:param name="cfg"/> > <xsl:for-each select="$cfg/config/columns/col"> > <table-column column-width="{@width}"/> > </xsl:for-each> > </xsl:template> > > </xsl:stylesheet> > > -- > -------------------------------------- > John Gentilin > Eye Catching Solutions Inc. > 18314 Carlwyn Drive > Castro Valley CA 94546 > > Contact Info > [EMAIL PROTECTED] > Ca Office 1-510-881-4821 > NJ Office 1-732-422-4917 -- -------------------------------------- John Gentilin Eye Catching Solutions Inc. 18314 Carlwyn Drive Castro Valley CA 94546 Contact Info [EMAIL PROTECTED] Ca Office 1-510-881-4821 NJ Office 1-732-422-4917
