This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Can't pass parameters across differing contexts?
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] Can't pass parameters across differing contexts?
- From: "Hunsberger, Peter" <Peter dot Hunsberger at stjude dot org>
- Date: Thu, 25 Oct 2001 17:11:51 -0500
- Reply-To: xsl-list at lists dot mulberrytech dot com
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