[xsl] Can't pass parameters across differing contexts?

Subject: [xsl] Can't pass parameters across differing contexts?
From: "Hunsberger, Peter" <Peter.Hunsberger@xxxxxxxxxx>
Date: Thu, 25 Oct 2001 17:11:51 -0500
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 name="{$varname}" size="1">
            <xsl:apply-templates select="document(concat('$varname,'.xml'))"
                <xsl:with-param name="sel">
                    <xsl:value-of select="'X'"/>

<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: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:attribute name="value"><xsl:value-of
        <xsl:value-of select="."/>

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

Current Thread