diff options
Diffstat (limited to 'share/sgml/templates.news-rdf.xsl')
-rw-r--r-- | share/sgml/templates.news-rdf.xsl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/share/sgml/templates.news-rdf.xsl b/share/sgml/templates.news-rdf.xsl new file mode 100644 index 0000000000..9163f8ba87 --- /dev/null +++ b/share/sgml/templates.news-rdf.xsl @@ -0,0 +1,75 @@ +<?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 title "FreeBSD News Flash RDF"> +<!ENTITY email "freebsd-www"> +]> + +<!-- $FreeBSD: www/share/sgml/templates.news-rdf.xsl,v 1.3 2009/06/02 17:33:09 gabor Exp $ --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:cvs="http://www.FreeBSD.org/XML/CVS"> + + <xsl:import href="http://www.FreeBSD.org/XML/www/lang/share/sgml/libcommon.xsl"/> + + <xsl:output method="xml" indent="yes" encoding="&xml.encoding;"/> + + <xsl:variable name="date"> + <xsl:value-of select="//cvs:keyword[@name='freebsd']"/> + </xsl:variable> + + <!-- Generate the main body of the RDF file --> + <xsl:template match="news"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://my.netscape.com/rdf/simple/0.9/"> + + <channel> + <title>FreeBSD Project News</title> + <link>http://www.FreeBSD.org/news/</link> + <description>News from the FreeBSD Project</description> + </channel> + + <!-- Only include the last 10 events --> + <xsl:apply-templates select="descendant::event[position() <= 10]"/> + + </rdf:RDF> + </xsl:template> + + <!-- Generate the <item> elements and their content --> + <xsl:template match="event" xmlns="http://my.netscape.com/rdf/simple/0.9/"> + <xsl:param name="year" select="../../../name" /> + <xsl:param name="month" select="../../name" /> + <xsl:param name="day" select="../name" /> + <xsl:param name="this" select="." /> + <xsl:param name="pos"> + <xsl:for-each select="../event"> + <xsl:if test=". = $this"> + <xsl:value-of select="position()" /> + </xsl:if> + </xsl:for-each> + </xsl:param> + + <item> + <xsl:choose> + <xsl:when test="count(child::title)"> + <title><xsl:value-of select="normalize-space(title)"/></title> + </xsl:when> + <xsl:otherwise> + <title><xsl:value-of select="normalize-space(p)"/></title> + </xsl:otherwise> + </xsl:choose> + <link> + <xsl:text>http://www.FreeBSD.org/news/newsflash.html#</xsl:text> + <xsl:call-template name="html-news-generate-anchor"> + <xsl:with-param name="label" select="'event'" /> + <xsl:with-param name="year" select="$year" /> + <xsl:with-param name="month" select="$month" /> + <xsl:with-param name="day" select="$day" /> + <xsl:with-param name="pos" select="$pos" /> + </xsl:call-template> + </link> + </item> + </xsl:template> + + <xsl:template match="name | date"/> +</xsl:stylesheet> |