Does $firstN have a value in the PartyList/When [1] template?
Is the PartyList/When [last()] template actually being called?
If so, something very odd is going on. Tell us which processor you are
using, and post a complete stylesheet + source document so we can debug
it for you.
Incidentally, the match="PartyList/When[last()]" is potentially very
expensive (though it all depends on the optimizer), and not really
necessary here. I would do all the work in one template myself.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Marsha Salo
Sent: 02 October 2003 13:00
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Parameter problem
Hi Dave
i have made the changes as you have said,
<xsl:template match="PartyList/When [last()]">
<xsl:param name = "first"/>
<xsl:param name = "last" select="@Attendance"/>
<xsl:variable name="difference" select = "$last -
$first"/>
<TD><xsl:value-of select="$first"/></TD>
<TD><xsl:value-of select="$last"/></TD>
<TD><xsl:value-of select="$difference"/></TD>
</xsl:template>
<xsl:template match="PartyList/When [1]">
<xsl:variable name="firstN"><xsl:value-of
select="@Attendance"/></xsl:variable>
<TD><xsl:value-of select="$firstN"/></TD>
<xsl:apply-templates
select="following-sibling::When [last()]">
<xsl:with-param name="first" select="$firstN"/>
</xsl:apply-templates>
</xsl:template>
but the parameter 'first' in template PartyList/When [last()]
still does not have a value. And difference is NaN.
marsha
-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk]
Sent: Thursday, October 02, 2003 1:30 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Parameter problem
<xsl:template match="PartyList/When [1]">
here your current node is a When element
so here
<xsl:apply-templates select="PartyList/When [last()]">
you are selecting a When grandchild of the current When
element. i suspect that you don't want that, you want your
youngest sibling so that's <xsl:apply-templates
select="following-sibling::When [last()]">
Incidentally don't do
<xsl:param name = "last"><xsl:value-of
select="@Attendance"/></xsl:param>
or
<xsl:variable name="difference"><xsl:value-of select =
"$last - $first"/></xsl:variable>
or
<xsl:with-param name="first"><xsl:copy-of
select="$firstN"/></xsl:with-param>
It makes the system work much harder than necessary.
just use
<xsl:param name = "last" select="@Attendance"/>
<xsl:variable name="difference" select = "$last -$first"/>
<xsl:with-param name="first" select="$firstN"/>
David
______________________________________________________________
__________
This e-mail has been scanned for all viruses by Star
Internet. The service is powered by MessageLabs. For more
information on a proactive anti-virus service working around
the clock, around the globe, visit: http://www.star.net.uk
______________________________________________________________
__________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list