Subject: RE: [xsl] Parameter problem From: "Marsha Salo" <Marsha@xxxxxxxxxxxxx> Date: Thu, 2 Oct 2003 17:11:46 +0200 |
Hi Michael >Does $firstN have a value in the PartyList/When [1] template? yes. >Is the PartyList/When [last()] template actually being called? yes. >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. I am using MSXML not sure about the processor. If i have an xml parser do i automatically have a processor aswell? I am using xmlSpy to step through the transformation process. At the bottom of this mail is the html output i am getting. xml file: <?xml:stylesheet TYPE="text/xsl" href="Trending3B.xsl"?> <Events> <Theatre> <When DateTime="Thursday 14 November 2002 11:50" Attendance="54"/> <When DateTime="Thursday 14 November 2002 11:51" Attendance="54"/> <When DateTime="Thursday 14 November 2002 11:53" Attendance="52"/> <When DateTime="Thursday 14 November 2002 11:54" Attendance="52"/> <When DateTime="Thursday 14 November 2002 11:55" Attendance="50"/> <When DateTime="Thursday 14 November 2002 11:56" Attendance="54"/> <When DateTime="Thursday 14 November 2002 11:57" Attendance="50"/> <When DateTime="Thursday 14 November 2002 11:58" Attendance="100"/> <When DateTime="Thursday 14 November 2002 11:59" Attendance="50"/> <When DateTime="Thursday 14 November 2002 12:00" Attendance="52"/> <When DateTime="Thursday 14 November 2002 12:01" Attendance="50"/> <When DateTime="Thursday 14 November 2002 12:02" Attendance="56"/> </Theatre> <Beach> <When DateTime="Thursday 14 November 2002 17:04" Attendance="90"/> <When DateTime="Thursday 14 November 2002 17:07" Attendance="65"/> <When DateTime="Thursday 14 November 2002 17:08" Attendance="100"/> <When DateTime="Thursday 14 November 2002 17:09" Attendance="52"/> <When DateTime="Thursday 14 November 2002 17:10" Attendance="66"/> <When DateTime="Thursday 14 November 2002 17:10" Attendance="54"/> <When DateTime="Thursday 14 November 2002 17:11" Attendance="52"/> <When DateTime="Thursday 14 November 2002 17:12" Attendance="73"/> <When DateTime="Thursday 14 November 2002 17:13" Attendance="56"/> <When DateTime="Thursday 14 November 2002 17:14" Attendance="53"/> <When DateTime="Thursday 14 November 2002 17:15" Attendance="54"/> <When DateTime="Thursday 14 November 2002 17:16" Attendance="50"/> <When DateTime="Thursday 14 November 2002 17:19" Attendance="56"/> </Beach> <PartyList> <When DateTime="Thursday 14 November 2002 11:51" Attendance="50"/> <When DateTime="Thursday 14 November 2002 11:53" Attendance="72"/> <When DateTime="Thursday 14 November 2002 11:54" Attendance="52"/> <When DateTime="Thursday 14 November 2002 11:55" Attendance="53"/> <When DateTime="Thursday 14 November 2002 11:56" Attendance="66"/> <When DateTime="Thursday 14 November 2002 11:57" Attendance="55"/> <When DateTime="Thursday 14 November 2002 11:58" Attendance="88"/> <When DateTime="Thursday 14 November 2002 16:55" Attendance="57"/> <When DateTime="Thursday 14 November 2002 16:56" Attendance="100"/> <When DateTime="Thursday 14 November 2002 16:57" Attendance="59"/> </PartyList> <DateFrom>Saturday, 09 November 2002</DateFrom> <DateTo>Saturday, 16 November 2002</DateTo> </Events> ------------------------------------------------------------------------ ------------------------------------------------------------------ xsl file: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- EVENTS.XSL --> <xsl:template match="/"> <HTML> <HEAD> <TITLE>Event List</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="events.css" /> </HEAD> <BODY> <H1>Event Report</H1> <H3>From <xsl:value-of select="//DateFrom"/> To <xsl:value-of select="//DateTo"/></H3> <H3></H3> <xsl:apply-templates /> </BODY> </HTML> </xsl:template> <xsl:template match="Theatre"> <H3>Theatre</H3> <TABLE ID="tblTheatre" BORDER="0"> <TR class="clsHeader"><TD width="170">Minimum Value</TD><TD width="170">Peak Value</TD><TD width="250">Average</TD></TR> <xsl:choose> <xsl:when test="/Theatre/*[count(When)=0]"> <TD><br> </br>No 'Theatre' logs available.</TD> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="When[@Attendance]"> <xsl:sort select="@Attendance" order="ascending" data-type="number"/> </xsl:apply-templates> <TD><xsl:value-of select="sum(//@Attendance) div count(//@Attendance)"/></TD> </xsl:otherwise> </xsl:choose> </TABLE> </xsl:template> <xsl:template match="Beach"> <H3>Beach</H3> <TABLE ID="tblBeach" BORDER="0"> <TR class="clsHeader"><TD width="170">Minimum Value</TD><TD width="170">Peak Value</TD><TD width="250">Average</TD></TR> <xsl:choose> <xsl:when test="/Beach/*[count(*) = 0]"> <TD><br> </br>No 'Beach' logs available.</TD> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="When[@Attendance]"> <xsl:sort select="@Attendance" order="ascending" data-type="number"/> </xsl:apply-templates> <TD><xsl:value-of select="sum(//@Attendance) div count(//@Attendance)"/></TD> </xsl:otherwise> </xsl:choose> </TABLE> </xsl:template> <xsl:template match="PartyList"> <H3>PartyList</H3> <xsl:apply-templates select="When[@Attendance]"> <xsl:sort select="@Attendance" order="ascending" data-type="number"/> </xsl:apply-templates> </xsl:template> <xsl:template match="Theatre/When[@Attendance]"> <xsl:if test="position() = 1"> <TD>CURRENT min<xsl:value-of select="@Attendance" /></TD> </xsl:if> <xsl:if test="position() = last()"> <TD>CURRENT max<xsl:value-of select="@Attendance"/></TD> </xsl:if> </xsl:template> <xsl:template match="Beach/When[@Attendance]"> <xsl:if test="position() = 1"> <TD><xsl:value-of select="@Attendance" /></TD> </xsl:if> <xsl:if test="position() = last()"> <TD><xsl:value-of select="@Attendance"/></TD> </xsl:if> </xsl:template> <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="number($firstN)"/> </xsl:apply-templates> </xsl:template> <xsl:template match="DateFrom | DateTo"> </xsl:template> </xsl:stylesheet> ------------------------------------------------------------------------ ------------------------------------------------------------------ html output; <HTML><HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"><TITLE>Event List</TITLE><LINK REL="stylesheet" TYPE="text/css" HREF="event.css"></HEAD><BODY><H1>Event Report</H1><H3>From Saturday, 09 November 2002 To Saturday, 16 November 2002</H3> <H3> </H3><H3>Theatre</H3> <TABLE ID="tblAlarms" BORDER="0"> <TR class="clsHeader"><TD width="170">Minimum Value</TD><TD width="170">Peak Value</TD><TD width="250">Average</TD> </TR><TD>T min50</TD><TD>CURRENT max54</TD><TD>52.6</TD> </TABLE><H3>Beach</H3> <TABLE ID="tblAlarms2" BORDER="0"> <TR class="clsHeader"><TD width="170">Minimum Value</TD><TD width="170">Peak Value</TD><TD width="250">Average</TD> </TR><TD>50</TD><TD>56</TD><TD>52.6</TD> </TABLE><H3>PartyList</H3><TD>50</TD><TD></TD><TD>59</TD><TD>NaN</TD> </BODY></HTML> Thanks in advance marsha XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Parameter problem, Marsha Salo | Thread | RE: [xsl] Parameter problem, Americo Albuquerque |
[xsl] xsl Adding yet another level!, james walker | Date | Re: [xsl] literal result elements v, Abie Hamaoui |
Month |