2007-04-10 05:06:51 +02:00
<?xml version="1.0" encoding="utf-8"?>
<!-- Spezifikation:
http://www.apple.com/itunes/store/podcaststechspecs.html
-->
<xsl:stylesheet version= "1.0"
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
exclude-result-prefixes="xsl date">
<xsl:output method= "xml"
version="1.0"
encoding="utf-8"
indent="yes"/>
2007-10-27 16:16:39 +02:00
<xsl:include href= "common.xsl" />
2007-04-10 05:06:51 +02:00
2007-04-19 14:32:58 +02:00
<xsl:variable name= "baseurl" > http://www.c3d2.de/</xsl:variable>
2007-04-10 05:06:51 +02:00
<xsl:template match= "news" >
<rss version= "2.0" >
<channel >
2007-12-02 18:31:41 +01:00
<title > Pentaradio</title>
2007-04-10 05:06:51 +02:00
<link > <xsl:value-of select= "$baseurl" /> radio.html</link>
2007-12-02 18:31:41 +01:00
<description > C3D2 Podcast</description>
2007-04-17 15:37:14 +02:00
<language > de</language>
<copyright > http://creativecommons.org/licenses/by-sa/2.0/de/</copyright>
2007-04-19 14:32:58 +02:00
<itunes:subtitle > Radio vom CCC Dresden</itunes:subtitle>
<itunes:summary >
2007-06-27 22:34:42 +02:00
Pentaradio sind die Sendungen des Chaos Computer Club Dresden auf coloRadio, bestehend aus einem informativen Rahmenprogramm und Beiträgen zu einem sendungsspezifischen Thema.
2007-04-19 14:32:58 +02:00
</itunes:summary>
2007-08-27 22:17:55 +02:00
<itunes:image href= "{$baseurl}images/pentaradio.png" />
2007-04-10 06:04:37 +02:00
<itunes:category text= "Society & culture" />
2007-04-10 05:06:51 +02:00
<itunes:category text= "Talk" >
<itunes:category text= "Radio" />
</itunes:category>
2007-04-19 14:32:58 +02:00
<itunes:author > Chaos Computer Club Dresden</itunes:author>
2007-04-10 05:06:51 +02:00
<xsl:for-each select= "newsfile" >
<xsl:sort select= "date:seconds(document(.)/item/@date)" data-type= "number" order= "descending" />
<!-- xsl:if test="position() <= 10" -->
2007-04-19 14:32:58 +02:00
<xsl:if test= "starts-with(., 'content/news/pentaradio') and (count(document(.)/item/resource) > 0)" >
2007-04-10 05:06:51 +02:00
2007-04-17 15:37:14 +02:00
<xsl:apply-templates select= "document(.)/item/resource" mode= "preselect" >
2007-04-10 05:06:51 +02:00
<xsl:with-param name= "newsfile" select= "." />
</xsl:apply-templates>
</xsl:if>
</xsl:for-each>
</channel>
</rss>
</xsl:template>
2007-04-17 15:37:14 +02:00
<!-- Preselect heißt:
* Gucken, ob es in der Resource nicht ein Alternative gibt, welches MP3 ist
* Dann dieses nehmen
* Ansonsten die Resource nehmen
-->
<xsl:template match= "resource" mode= "preselect" >
<xsl:param name= "newsfile" />
<xsl:choose >
<xsl:when test= "count(alternative[@type='audio/mpeg']) > 0" >
<xsl:apply-templates test= "alternative[@type='audio/mpeg'][1]" >
<xsl:with-param name= "newsfile" select= "$newsfile" />
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise >
<xsl:apply-templates select= "." >
<xsl:with-param name= "newsfile" select= "$newsfile" />
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match= "resource" >
<xsl:param name= "newsfile" />
2007-10-27 16:16:39 +02:00
<xsl:variable name= "href" >
<xsl:call-template name= "make-href" >
<xsl:with-param name= "href" select= "@url" />
</xsl:call-template>
</xsl:variable>
2007-04-17 15:37:14 +02:00
<xsl:call-template name= "generate-item" >
<xsl:with-param name= "newsfile" select= "$newsfile" />
<xsl:with-param name= "item_title" select= "../@title" />
<xsl:with-param name= "resource_title" select= "@title" />
<xsl:with-param name= "author" select= "../@author" />
<xsl:with-param name= "date" select= "../@date" />
2007-10-27 16:16:39 +02:00
<xsl:with-param name= "resource_url" select= "$href" />
2007-04-17 15:37:14 +02:00
<xsl:with-param name= "resource_size" select= "@size" />
<xsl:with-param name= "resource_type" select= "@type" />
</xsl:call-template>
</xsl:template>
<xsl:template match= "alternative" >
<xsl:param name= "newsfile" />
2007-10-27 16:16:39 +02:00
<xsl:variable name= "href" >
<xsl:call-template name= "make-href" >
<xsl:with-param name= "href" select= "@url" />
</xsl:call-template>
</xsl:variable>
2007-04-17 15:37:14 +02:00
<xsl:call-template name= "generate-item" >
<xsl:with-param name= "newsfile" select= "$newsfile" />
<xsl:with-param name= "item_title" select= "../../@title" />
<xsl:with-param name= "resource_title" select= "../@title" />
<xsl:with-param name= "author" select= "../../@author" />
<xsl:with-param name= "date" select= "../../@date" />
2007-10-27 16:16:39 +02:00
<xsl:with-param name= "resource_url" select= "$href" />
2007-04-17 15:37:14 +02:00
<xsl:with-param name= "resource_size" select= "@size" />
<xsl:with-param name= "resource_type" select= "@type" />
</xsl:call-template>
</xsl:template>
<xsl:template name= "generate-item" >
2007-04-10 05:06:51 +02:00
<xsl:param name= "newsfile" />
2007-04-17 15:37:14 +02:00
<xsl:param name= "item_title" />
<xsl:param name= "resource_title" />
<xsl:param name= "author" />
<xsl:param name= "date" />
<xsl:param name= "resource_url" />
<xsl:param name= "resource_size" />
<xsl:param name= "resource_type" />
2007-04-10 05:06:51 +02:00
<item >
<xsl:variable name= "href" >
<xsl:value-of select= "$baseurl" />
<xsl:value-of select= "substring-before(substring-after($newsfile, 'content/'), '.xml')" />
<xsl:text > .html</xsl:text>
</xsl:variable>
2007-12-02 18:31:41 +01:00
<title > <xsl:value-of select= "$item_title" /> </title>
2007-04-10 05:06:51 +02:00
<link > <xsl:value-of select= "$href" /> </link>
2007-04-17 15:37:14 +02:00
<enclosure
2007-04-18 01:11:20 +02:00
url="{$resource_url}"
2007-04-17 15:37:14 +02:00
length="{$resource_size}"
type="{$resource_type}"
/>
2007-04-19 14:32:58 +02:00
<guid isPermaLink= "false" > <xsl:value-of select= "concat($href, '+++', $resource_url)" /> </guid>
2007-04-10 05:06:51 +02:00
<pubDate >
<xsl:call-template name= "date-to-rfc822" >
2007-04-17 15:37:14 +02:00
<xsl:with-param name= "date" select= "$date" />
2007-04-10 05:06:51 +02:00
</xsl:call-template>
</pubDate>
2007-04-17 15:37:14 +02:00
<!-- iTunes - Extensions zum Schluss, sonst validiert es nicht -->
2007-04-10 05:06:51 +02:00
2007-12-02 18:31:41 +01:00
<itunes:subtitle > <xsl:value-of select= "$resource_title" /> </itunes:subtitle>
<itunes:author > CCC Dresden</itunes:author>
2007-04-10 05:06:51 +02:00
2007-04-17 15:37:14 +02:00
</item>
2007-04-10 05:06:51 +02:00
</xsl:template>
</xsl:stylesheet>