Mercurial > hg > nginx-site
view xslt/rss.xslt @ 1202:2d3dd37a0fc8
Fixed the pubDate element spelling.
While most feed readers happily ignore the improper lowercase spelling of the
element, some feed validators and aggregators are picky and mark the feed as
broken.
author | Konstantin Pavlov <thresh@nginx.com> |
---|---|
date | Thu, 22 May 2014 14:44:42 +0400 |
parents | c454373427ef |
children | 0f9faaddd31c |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) Igor Sysoev Copyright (C) Nginx, Inc. --> <xsl:stylesheet xmlns:date="http://exslt.org/dates-and-times" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output indent="no" encoding="utf-8"/> <xsl:strip-space elements="*"/> <!-- .. a current directory of a XSLT script is where the script is stored, .. but not where XSLT processor has been started to run the script --> <xsl:param select="'../xml'" name="XML"/> <xsl:param name="YEAR"/> <xsl:variable select="'http://nginx.org'" name="SITE"/> <xsl:variable select="/news/@link" name="LINK"/> <xsl:include href="dirname.xslt"/> <xsl:include href="link.xslt"/> <xsl:include href="menu.xslt"/> <xsl:include href="content.xslt"/> <xsl:template match="/news"> <rss version="2.0"> <channel> <title> <xsl:value-of select="@name"/> </title> <link> <xsl:value-of select="$SITE"/> </link> <description/> <xsl:apply-templates select="event"/> </channel> </rss> </xsl:template> <xsl:template match="event[position() <= 10]"> <xsl:variable name="year"> <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/> </xsl:variable> <xsl:variable name="y"> <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:variable> <xsl:variable name="page"> <xsl:if test="$year != $y"> <xsl:value-of select="concat($y, '.html')"/> </xsl:if> </xsl:variable> <item> <title> <xsl:apply-templates select="para[1]//text()"/> </title> <guid> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </guid> <link> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </link> <pubdate> <xsl:value-of select=" concat(date:day-abbreviation(@date), ', ', format-number(date:day-in-month(@date), '00'), ' ', date:month-abbreviation(@date), ' ', date:year(@date), ' 00:00:00 +0300') "/> </pubdate> <description> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text> <xsl:value-of select="@date"/> <xsl:apply-templates select="para"/> <xsl:text disable-output-escaping="yes">]]></xsl:text> </description> </item> </xsl:template> <xsl:template match="event"> </xsl:template> </xsl:stylesheet>