79 lines
3.1 KiB
XML
79 lines
3.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
<xsl:import href="feeds.xsl" />
|
|
|
|
<!--display dynamic list of tagged news items-->
|
|
|
|
<xsl:template name="fetch-news">
|
|
<xsl:param name="nb-items" select="''" />
|
|
<xsl:param name="sidebar" select="'no'" />
|
|
|
|
<xsl:for-each select="/buildinfo/document/set/news[
|
|
translate(@date, '-', '') <= translate(/buildinfo/@date, '-', '')
|
|
]">
|
|
<xsl:sort select="@date" order="descending" />
|
|
|
|
<xsl:if test="$nb-items = '' or position() <= $nb-items">
|
|
<xsl:call-template name="news">
|
|
<xsl:with-param name="sidebar" select="$sidebar" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<!--display dynamic list of tagged event items-->
|
|
|
|
<xsl:template name="fetch-events">
|
|
<xsl:param name="wanted-time" select="future" /> <!-- value in {"past", "present", "future"} -->
|
|
<xsl:param name="header" select="''" />
|
|
<xsl:param name="nb-items" select="''" />
|
|
<xsl:param name="display-tags" select="'no'" />
|
|
|
|
<xsl:choose> <xsl:when test="$wanted-time = 'past'">
|
|
<!-- Past events -->
|
|
<xsl:for-each select="/buildinfo/document/set/event[
|
|
translate (@end, '-', '') < translate (/buildinfo/@date, '-', '')
|
|
]">
|
|
<xsl:sort select="@end" order="descending" />
|
|
<xsl:if test="position() <= $nb-items or $nb-items=''">
|
|
<xsl:call-template name="event">
|
|
<xsl:with-param name="header" select="$header" />
|
|
<xsl:with-param name="display-tags" select="$display-tags" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
|
|
</xsl:when> <xsl:when test="$wanted-time = 'present'">
|
|
<!-- Current events -->
|
|
<xsl:for-each select="/buildinfo/document/set/event[
|
|
translate (@start, '-', '') <= translate (/buildinfo/@date, '-', '')
|
|
and translate (@end, '-', '') >= translate (/buildinfo/@date, '-', '')
|
|
]">
|
|
<xsl:sort select="@start" order="descending" />
|
|
<xsl:if test="position() <= $nb-items or $nb-items=''">
|
|
<xsl:call-template name="event">
|
|
<xsl:with-param name="header" select="$header" />
|
|
<xsl:with-param name="display-tags" select="$display-tags" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
|
|
</xsl:when> <xsl:otherwise> <!-- if we were not told what to do, display future events -->
|
|
<!-- Future events -->
|
|
<xsl:for-each select="/buildinfo/document/set/event[
|
|
translate (@start, '-', '') > translate (/buildinfo/@date, '-', '')
|
|
]">
|
|
<xsl:sort select="@start" />
|
|
<xsl:if test="position() <= $nb-items or $nb-items=''">
|
|
<xsl:call-template name="event">
|
|
<xsl:with-param name="header" select="$header" />
|
|
<xsl:with-param name="display-tags" select="$display-tags" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
|
|
</xsl:otherwise> </xsl:choose>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|