Subject: [xsl] sort by xsl:if and then sort using templates? From: "Max Bronsema" <max.bronsema@xxxxxxxxx> Date: Mon, 20 Nov 2006 11:37:47 -0800 |
I am having trouble applying xsl:if statements when I have templates within my XSLT document. Below is a summary of what I am trying to accomplish. The main question I have is how do I sort using an if, and then sort again using a template?
I pass in a parameter called "currentDate" which holds the current date. I then wish to use an xsl:if statement to determine which xml items are not past due. Using the if, as I understand acts as a boolean statement, those that fit the bill stay and those that do not are nixed.
After the if statement I try to sort my items by date using what seems like a common way to sort by date using the substring method. This works flawlessly until I try to nest it in my if statement.
Once the dates are sorted I wish to display the first five sorted items. I have done this using a position() statement in the past. Is there a better way to handle this?
--------------------------------------- Abridged version of xml file -------------cal.xml -------------- <calendar> <event> <date>10/13/05</date> <title>City Council Meeting</title> <time>8pm</time> </event> </calendar>
---------------------------------------- Important parts of xslt file ---------------cal.xslt--------------- <!--Declare XSL Parameters --> <xsl:param name="currentDate"/> <xsl:if test="/calendar/event/date/text() >= $currentDate"> </xsl:if>
<xsl:template match="calendar"> <xsl:apply-templates> <!--year--> <xsl:sort select="substring(date, 7,4)"/> <!--month--> <xsl:sort select="substring(date, 1, 2)"/> <!--day--> <xsl:sort select="substring(date, 3, 2)"/> </xsl:apply-templates> </xsl:template> <xsl:template match="event"> Date: <xsl:apply-templates select="date"/> Title: <xsl:apply-templates select="title"/> Time: <xsl:apply-templates select="time"/> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Issue with child:: elemen, wrew ewrwe | Thread | Re: [xsl] sort by xsl:if and then s, David Carlisle |
[xsl] Issue with child:: element, wrew ewrwe | Date | [xsl] output method="xhtml" in 2.0, Rick Roen |
Month |