view xsls/news.xsls @ 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 cd0d1f0130db
children fdf1464e1977
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

X:stylesheet {

X:output method="html" version="4.0" indent="no" encoding="utf-8";

X: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
  -->
X:param XML = "'../xml'";
X:param YEAR;
X:param ORIGIN;
X:param TRANS;

X:var SITE = "'http://nginx.org'";
X:var LINK = "/news/@link";
X:var LANG = "/news/@lang";

X:include href = "dirname.xslt";
X:include href = "link.xslt";
X:include href = "style.xslt";
X:include href = "body.xslt";
X:include href = "menu.xslt";
X:include href = "ga.xslt";
X:include href = "content.xslt";


X:template = "/news" {
    <html><head>

    <link rel="alternate" type="application/rss+xml"
          title="{@name}" href="{$SITE}/index.rss" />

    <title> !{@name} X:if "$YEAR" { X:text{: } !{$YEAR} } </title>

    !style (lang="@lang")

    !ga ()

    </head>

    !body (lang="@lang")

    </html>
}


X:template = "event" {

    X:var year = { !{substring(../event[position()=1]/@date, 1, 4)} }
    X:var y = { !{substring(@date, 1, 4)} }

    X:if "position() = 1" {
        X:text disable-output-escaping="yes" {
            &lt;table class="news"&gt;
        }
    }

    X:if "(not($YEAR) and ($year = $y or position() &lt; 11)) or $YEAR=$y" {
        <tr>
        <td class="date">
            <a name="{@date}" /> !{@date}
        </td>
        <td> !! "para"; </td>
        </tr>
    }

    X:if "position() = last()" {
        X:text disable-output-escaping="yes" {
            &lt;/table&gt;
        }
    }
}


}