view xsls/news.xsls @ 3052:e835715198f5

Free nginx: fixed RSS links.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Feb 2024 20:06:27 +0300
parents 80cc4e6d3d6d
children
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://freenginx.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 = "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")

    </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;
        }
    }
}


}