This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Can't pass parameters across differing contexts?
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Can't pass parameters across differing contexts?
- From: Jörg Heinicke <joerg dot heinicke at gmx dot de>
- Date: Fri, 26 Oct 2001 08:47:50 +0200
- References: <601F6322AD71D5118D6C0003472515290227978E@sjmemexc1.stjude.org>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hello Peter,
there was a param-bug in Xalan in version 2.2.D6 I think. Test it with the
current version 2.2.D11.
Joerg
> I've got an XSLT template producing HTML using a series of templates that
> look like the following:
>
> <xsl:template match="list/*">
> <td valign="top">
> <xsl:variable name="varname"><xsl:value-of
> select="local-name()"/></xsl:variable>
> <select name="{$varname}" size="1">
> <xsl:apply-templates
select="document(concat('$varname,'.xml'))"
> mode="list">
> <xsl:with-param name="sel">
> <xsl:value-of select="'X'"/>
> </xsl:with-param>
> </xsl:apply-templates>
> </select>
> </xsl:template>
>
> <xsl:template match="options" mode="list">
> <xsl:param name="sel"/>
> Sel=<xsl:value-of select="$sel"/>?
> <xsl:apply-templates select="*" mode="list">
> <xsl:with-param name="sel" select="$sel"/>
> </xsl:apply-templates>
> </xsl:template>
>
> <xsl:template match="option" mode="list">
> <xsl:param name="sel"/>
> <xsl:element name="option">
> <xsl:if test="@value = $sel">
> <xsl:attribute name="selected">1</xsl:attribute>
> </xsl:if>
> <xsl:attribute name="value"><xsl:value-of
> select="@value"/></xsl:attribute>
> <xsl:value-of select="."/>
> </xsl:element>
> </xsl:template>
>
> The parameter "sel" is normally set with some other code, but the above
> replicates the problem. The hard coded display of the parameter value in
> the "options" template shows no value being passed to the template If I
use
> the same coding to pass the value to the "option" template (and a similar
> display) I do see the value. I tried getting the contents of the new
> document into a variable and then running the templates against the
> variable contents, but I get the same results. I can only conclude that
for
> some reason the parameter won't pass when I'm switching document contexts?
> If this is generally true is there a work around?
>
> If it makes a difference I'm using Xalan 2.0.1.
>
> Peter Hunsberger
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list