Hello list,
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>
Thank you for your help.
Max Bronsema
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--