170
|
1 <?xml version="1.0" encoding="utf-8"?>
|
1085
|
2 <!--
|
|
3 Copyright (C) Igor Sysoev
|
|
4 Copyright (C) Nginx, Inc.
|
|
5 -->
|
170
|
6
|
1085
|
7 <xsl:stylesheet xmlns:date="http://exslt.org/dates-and-times" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
170
|
8
|
1085
|
9 <xsl:output indent="no" encoding="utf-8"/>
|
170
|
10
|
1085
|
11 <xsl:strip-space elements="*"/>
|
170
|
12
|
1085
|
13 <!--
|
|
14 .. a current directory of a XSLT script is where the script is stored,
|
|
15 .. but not where XSLT processor has been started to run the script
|
|
16 -->
|
|
17 <xsl:param select="'../xml'" name="XML"/>
|
|
18 <xsl:param name="YEAR"/>
|
170
|
19
|
1085
|
20 <xsl:variable select="'http://nginx.org'" name="SITE"/>
|
|
21 <xsl:variable select="/news/@link" name="LINK"/>
|
170
|
22
|
1085
|
23 <xsl:include href="dirname.xslt"/>
|
|
24 <xsl:include href="link.xslt"/>
|
|
25 <xsl:include href="menu.xslt"/>
|
|
26 <xsl:include href="content.xslt"/>
|
170
|
27
|
|
28
|
1085
|
29 <xsl:template match="/news">
|
|
30 <rss version="2.0">
|
|
31 <channel>
|
|
32 <title> <xsl:value-of select="@name"/> </title>
|
|
33 <link> <xsl:value-of select="$SITE"/> </link>
|
|
34 <description/>
|
|
35 <xsl:apply-templates select="event"/>
|
|
36 </channel>
|
|
37 </rss>
|
|
38 </xsl:template>
|
170
|
39
|
1085
|
40
|
|
41 <xsl:template match="event[position() <= 10]">
|
170
|
42
|
1085
|
43 <xsl:variable name="year"> <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/> </xsl:variable>
|
|
44 <xsl:variable name="y"> <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:variable>
|
170
|
45
|
1085
|
46 <xsl:variable name="page">
|
|
47 <xsl:if test="$year != $y">
|
|
48 <xsl:value-of select="concat($y, '.html')"/>
|
|
49 </xsl:if>
|
|
50 </xsl:variable>
|
170
|
51
|
1085
|
52 <item>
|
|
53 <title> <xsl:apply-templates select="para[1]//text()"/> </title>
|
|
54 <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>
|
|
55 <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>
|
|
56 <pubdate>
|
|
57 <xsl:value-of select=" concat(date:day-abbreviation(@date), ', ',
|
|
58 format-number(date:day-in-month(@date), '00'), ' ',
|
|
59 date:month-abbreviation(@date), ' ',
|
|
60 date:year(@date),
|
|
61 ' 00:00:00 +0300') "/>
|
|
62 </pubdate>
|
170
|
63
|
1085
|
64 <description>
|
170
|
65 <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
|
|
66 <xsl:value-of select="@date"/>
|
|
67 <xsl:apply-templates select="para"/>
|
1085
|
68 <xsl:text disable-output-escaping="yes">]]></xsl:text>
|
|
69 </description>
|
|
70 </item>
|
|
71 </xsl:template>
|
170
|
72
|
|
73
|
1085
|
74 <xsl:template match="event"> </xsl:template>
|
170
|
75
|
|
76
|
|
77 </xsl:stylesheet>
|