feedreaders and browsers can automatically find the RSS feeds on these pages without the user having to click on the rss link. For FireFox users this enables an orange rss logo on the right side of the location bar, and something similar shows up for IE and Safari.
109 lines
3 KiB
XML
109 lines
3 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
|
<!DOCTYPE xsl:stylesheet PUBLIC "-//FreeBSD//DTD FreeBSD XSLT 1.0 DTD//EN"
|
|
"http://www.FreeBSD.org/XML/www/share/sgml/xslt10-freebsd.dtd" [
|
|
<!ENTITY base "..">
|
|
<!ENTITY rsslink "&base;/java/rss.xml">
|
|
<!ENTITY title "FreeBSD &java; Project: Newsflash">
|
|
<!ENTITY rsstitle "FreeBSD Java Project News">
|
|
<!ENTITY email "freebsd-java">
|
|
<!ENTITY % navinclude.developers "INCLUDE">
|
|
<!ENTITY % header.rss "INCLUDE">
|
|
]>
|
|
|
|
<!-- $FreeBSD: www/en/java/newsflash.xsl,v 1.1 2008/01/15 21:16:25 murray Exp $ -->
|
|
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
|
xmlns:cvs="http://www.FreeBSD.org/XML/CVS" exclude-result-prefixes="cvs">
|
|
|
|
<xsl:import href="http://www.FreeBSD.org/XML/www/lang/share/sgml/libcommon.xsl"/>
|
|
|
|
<xsl:variable name="date">
|
|
<xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:output type="html" encoding="&xml.encoding;"/>
|
|
|
|
<xsl:template match="news">
|
|
<html>
|
|
&header1;
|
|
<body>
|
|
|
|
<div id="CONTAINERWRAP">
|
|
<div id="CONTAINER">
|
|
&header2;
|
|
|
|
<div id="CONTENT">
|
|
<div id="SIDEWRAP">
|
|
&nav;
|
|
<div id="FEEDLINKS">
|
|
<ul>
|
|
<li>
|
|
<a href="&rsslink;" title="&rsstitle;">
|
|
RSS 2.0 Feed
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div> <!-- FEEDLINKS -->
|
|
</div> <!-- SIDEWRAP -->
|
|
|
|
<div id="CONTENTWRAP">
|
|
&header3;
|
|
|
|
<img src="&base;/gifs/news.jpg" align="right" border="0" width="193"
|
|
height="144" alt="FreeBSD Java News"/>
|
|
|
|
<xsl:apply-templates select="descendant::month"/>
|
|
|
|
<xsl:call-template
|
|
name="html-news-list-newsflash-homelink" />
|
|
|
|
</div> <!-- contentwrap -->
|
|
|
|
<br class="clearboth" />
|
|
</div> <!-- content -->
|
|
|
|
<div id="FOOTER">
|
|
©right;<br />
|
|
&date;
|
|
</div> <!-- FOOTER -->
|
|
</div> <!-- container -->
|
|
</div> <!-- containerwrap -->
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
<!-- Everything that follows are templates for the rest of the content -->
|
|
|
|
<xsl:template match="month">
|
|
<h2><xsl:value-of select="name"/>
|
|
<xsl:text> </xsl:text>
|
|
<xsl:value-of select="ancestor::year/name"/></h2>
|
|
|
|
<ul>
|
|
<xsl:apply-templates select="descendant::day"/>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="day">
|
|
<xsl:apply-templates select="event"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="event">
|
|
<li><p><a>
|
|
<xsl:attribute name="name">
|
|
<xsl:call-template name="generate-event-anchor"/>
|
|
</xsl:attribute>
|
|
</a>
|
|
|
|
<b><xsl:value-of select="ancestor::month/name"/>
|
|
<xsl:text> </xsl:text>
|
|
<xsl:value-of select="ancestor::day/name"/>,
|
|
<xsl:value-of select="ancestor::year/name"/>:</b><xsl:text> </xsl:text>
|
|
<xsl:value-of select="title"/>
|
|
</p>
|
|
<xsl:copy-of select="p"/>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="date"/> <!-- Deliberately left blank -->
|
|
</xsl:stylesheet>
|