Datenquelle für xCal & iCal ist nun calendar-summary.xml, enthält alle Events
git-svn-id: svn://svn.c3d2.de/c3d2-web/trunk@1046 31f61c52-7bfb-0310-b897-fc00f8a278f0
This commit is contained in:
parent
55083164a7
commit
4ade65f772
20
Makefile
20
Makefile
|
@ -51,7 +51,7 @@ PAGES:=$(patsubst content/pages/%.xml, build/%.html, $(wildcard content/pages/*.
|
||||||
# Seiten zu einzelnen News-Items:
|
# Seiten zu einzelnen News-Items:
|
||||||
NEWS_PAGES:=$(patsubst content/news/%.xml, build/news/%.html, $(wildcard content/news/*.xml))
|
NEWS_PAGES:=$(patsubst content/news/%.xml, build/news/%.html, $(wildcard content/news/*.xml))
|
||||||
# News-Index und Feeds:
|
# News-Index und Feeds:
|
||||||
NEWSFILES:=build/news.html build/news-rss.xml build/news-atom.xml build/xcal.xml build/ical.ics build/podcast.xml
|
NEWSFILES:=build/news.html build/news-rss.xml build/news-atom.xml build/podcast.xml
|
||||||
# Datenspuren-Seiten:
|
# Datenspuren-Seiten:
|
||||||
DS_PAGES:=$(patsubst content/datenspuren/%.xml, build/datenspuren/%.html, $(wildcard content/datenspuren/*.xml)) build/datenspuren/schedule.html
|
DS_PAGES:=$(patsubst content/datenspuren/%.xml, build/datenspuren/%.html, $(wildcard content/datenspuren/*.xml)) build/datenspuren/schedule.html
|
||||||
# Suchseiten-Template
|
# Suchseiten-Template
|
||||||
|
@ -88,10 +88,6 @@ build/news-rss.xml : VFLAGS_OUT=--noout --schema xsd/rss20.xsd
|
||||||
build/news-atom.xml : STYLE=xsl/atom.xsl
|
build/news-atom.xml : STYLE=xsl/atom.xsl
|
||||||
build/news-atom.xml : NOVALID_IGNORE:=true
|
build/news-atom.xml : NOVALID_IGNORE:=true
|
||||||
build/news-atom.xml : VFLAGS_OUT=--noout --relaxng xsd/atom.rng
|
build/news-atom.xml : VFLAGS_OUT=--noout --relaxng xsd/atom.rng
|
||||||
build/xcal.xml : STYLE=xsl/xcal.xsl
|
|
||||||
build/ical.ics : STYLE=xsl/ical.xsl
|
|
||||||
build/ical.ics : NOVALID_IGNORE:=true
|
|
||||||
build/ical.ics : VFLAGS_OUT=--noout
|
|
||||||
build/podcast.xml : STYLE=xsl/podcast.xsl
|
build/podcast.xml : STYLE=xsl/podcast.xsl
|
||||||
build/podcast.xml : NOVALID_IGNORE:=true
|
build/podcast.xml : NOVALID_IGNORE:=true
|
||||||
build/podcast.xml : VFLAGS_OUT=--noout --schema xsd/rss20.xsd
|
build/podcast.xml : VFLAGS_OUT=--noout --schema xsd/rss20.xsd
|
||||||
|
@ -115,6 +111,20 @@ build/calendar.html : VFLAGS_IN=--noout
|
||||||
build/calendar.html: $(CALENDAR_SUMMARY) $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES)
|
build/calendar.html: $(CALENDAR_SUMMARY) $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES)
|
||||||
$(call xml_process)
|
$(call xml_process)
|
||||||
|
|
||||||
|
# XCal
|
||||||
|
build/xcal.xml : STYLE=xsl/xcal.xsl
|
||||||
|
build/xcal.xml : VFLAGS_IN=--noout
|
||||||
|
build/xcal.xml: $(CALENDAR_SUMMARY) $(STYLE)
|
||||||
|
$(call xml_process)
|
||||||
|
|
||||||
|
# iCal
|
||||||
|
build/ical.ics : STYLE=xsl/ical.xsl
|
||||||
|
build/ical.ics : NOVALID_IGNORE:=true
|
||||||
|
build/ical.ics : VFLAGS_IN=--noout
|
||||||
|
build/ical.ics : VFLAGS_OUT=--noout
|
||||||
|
build/ical.ics: $(CALENDAR_SUMMARY) $(STYLE)
|
||||||
|
$(call xml_process)
|
||||||
|
|
||||||
# Pages:
|
# Pages:
|
||||||
build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) news.xml
|
build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) news.xml
|
||||||
$(call xml_process)
|
$(call xml_process)
|
||||||
|
|
117
xsl/ical.xsl
117
xsl/ical.xsl
|
@ -1,17 +1,21 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xsl:stylesheet version="1.0"
|
<xsl:stylesheet version="1.0"
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
xmlns:date="http://exslt.org/dates-and-times"
|
xmlns:date="http://exslt.org/dates-and-times"
|
||||||
xmlns:crypto="http://exslt.org/crypto"
|
xmlns:crypto="http://exslt.org/crypto">
|
||||||
>
|
|
||||||
|
|
||||||
<xsl:output method="text" encoding="utf-8"/>
|
<xsl:output method="text" encoding="utf-8"/>
|
||||||
|
|
||||||
<xsl:include href="date.xsl"/>
|
<xsl:include href="common.xsl"/>
|
||||||
|
|
||||||
<xsl:variable name="baseurl">https://www.c3d2.de/</xsl:variable>
|
<xsl:variable name="baseurl">https://www.c3d2.de/</xsl:variable>
|
||||||
|
|
||||||
<xsl:template match="news"><xsl:text>BEGIN:VCALENDAR</xsl:text>
|
<xsl:template match="/page">
|
||||||
|
<xsl:apply-templates select="calendar-summary"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="calendar-summary">
|
||||||
|
<xsl:text>BEGIN:VCALENDAR</xsl:text>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
<xsl:text>VERSION:2.0</xsl:text>
|
<xsl:text>VERSION:2.0</xsl:text>
|
||||||
|
@ -32,16 +36,32 @@
|
||||||
<xsl:text>X-WR-CALNAME;VALUE=TEXT:C3D2-Events</xsl:text>
|
<xsl:text>X-WR-CALNAME;VALUE=TEXT:C3D2-Events</xsl:text>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
<xsl:text>X-WR-TIMEZONE;VALUE=TEXT:Europe/Berlin</xsl:text>
|
<xsl:text>X-WR-TIMEZONE;VALUE=TEXT:Europe/Prague</xsl:text>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
<xsl:for-each select="newsfile">
|
<xsl:for-each select="event">
|
||||||
<xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" />
|
<xsl:sort select="date:seconds(@start)" data-type="number" order="descending" />
|
||||||
<xsl:if test="document(.)/item/event">
|
|
||||||
<xsl:apply-templates select="document(.)/item">
|
<xsl:text> </xsl:text>
|
||||||
<xsl:with-param name="newsfile" select="."/>
|
<xsl:text>BEGIN:VEVENT</xsl:text>
|
||||||
</xsl:apply-templates>
|
<xsl:text> </xsl:text>
|
||||||
</xsl:if>
|
|
||||||
|
<xsl:text>METHOD:PUBLISH</xsl:text>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
|
<xsl:call-template name="uid"/>
|
||||||
|
<xsl:apply-templates select="start"/>
|
||||||
|
<xsl:apply-templates select="end"/>
|
||||||
|
<xsl:apply-templates select="title"/>
|
||||||
|
<xsl:text>CLASS:PUBLIC</xsl:text>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
<xsl:call-template name="category"/>
|
||||||
|
<xsl:apply-templates select="link"/>
|
||||||
|
<xsl:apply-templates select="location"/>
|
||||||
|
|
||||||
|
<xsl:text>END:VEVENT</xsl:text>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
@ -49,76 +69,73 @@
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="item">
|
<xsl:template name="uid">
|
||||||
<xsl:param name="newsfile"/>
|
<xsl:text>UID:</xsl:text><xsl:value-of select="crypto:sha1(concat(title,start))"/><xsl:text>@www.c3d2.de</xsl:text>
|
||||||
|
|
||||||
<xsl:text>BEGIN:VEVENT</xsl:text>
|
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
|
|
||||||
<xsl:text>METHOD:PUBLISH</xsl:text>
|
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
|
|
||||||
<xsl:text>UID:</xsl:text><xsl:value-of select="crypto:sha1(concat(@title,@date))"/><xsl:text>@www.c3d2.de</xsl:text>
|
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
|
|
||||||
<xsl:text>DTSTAMP:</xsl:text>
|
|
||||||
<xsl:call-template name="date-to-hevent">
|
|
||||||
<xsl:with-param name="date" select="@date"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="start">
|
||||||
<xsl:text>DTSTART:</xsl:text>
|
<xsl:text>DTSTART:</xsl:text>
|
||||||
<xsl:call-template name="date-to-hevent">
|
<xsl:call-template name="date-to-hevent">
|
||||||
<xsl:with-param name="date" select="event/start"/>
|
<xsl:with-param name="date" select="string(.)"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:if test="event/end">
|
<xsl:template match="end">
|
||||||
|
<xsl:if test="not(string(.) = string(../start))">
|
||||||
<xsl:text>DTEND:</xsl:text>
|
<xsl:text>DTEND:</xsl:text>
|
||||||
<xsl:call-template name="date-to-hevent">
|
<xsl:call-template name="date-to-hevent">
|
||||||
<xsl:with-param name="date" select="event/end"/>
|
<xsl:with-param name="date" select="string(.)"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="title">
|
||||||
<xsl:call-template name="wrap-text">
|
<xsl:call-template name="wrap-text">
|
||||||
<xsl:with-param name="text">SUMMARY:<xsl:value-of select="@title"/></xsl:with-param>
|
<xsl:with-param name="text">SUMMARY:<xsl:value-of select="."/></xsl:with-param>
|
||||||
<xsl:with-param name="length" select="70"/>
|
<xsl:with-param name="length" select="70"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:text>CLASS:PUBLIC</xsl:text>
|
<xsl:template name="category">
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
|
|
||||||
<xsl:text>CATEGORY:</xsl:text>
|
<xsl:text>CATEGORY:</xsl:text>
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="starts-with($newsfile, 'content/news/ta-')">
|
<xsl:when test="starts-with(link, 'news/ta-')">
|
||||||
<item>Themenabend</item>
|
<xsl:text>Themenabend</xsl:text>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:when test="starts-with($newsfile, 'content/news/event-')">
|
<xsl:when test="starts-with(link, 'news/event-')">
|
||||||
<item>Event</item>
|
<xsl:text>Event</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="starts-with(link, 'news/pentaradio')">
|
||||||
|
<xsl:text>Radio</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="link = 'radio.html'">
|
||||||
|
<xsl:text>Radio</xsl:text>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<item>Misc</item>
|
<xsl:text>Misc</xsl:text>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="link">
|
||||||
<xsl:text>URL:</xsl:text>
|
<xsl:text>URL:</xsl:text>
|
||||||
<xsl:value-of select="$baseurl"/>
|
<xsl:call-template name="make-href">
|
||||||
<xsl:value-of select="substring-after(substring-before($newsfile, '.xml'), 'content/')"/>
|
<xsl:with-param name="href" select="string(.)"/>
|
||||||
<xsl:text>.html</xsl:text>
|
</xsl:call-template>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="location">
|
||||||
<xsl:call-template name="wrap-text">
|
<xsl:call-template name="wrap-text">
|
||||||
<xsl:with-param name="text">LOCATION:<xsl:value-of select="event/location"/></xsl:with-param>
|
<xsl:with-param name="text">LOCATION:<xsl:value-of select="string(.)"/></xsl:with-param>
|
||||||
<xsl:with-param name="length" select="70"/>
|
<xsl:with-param name="length" select="70"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
|
||||||
<xsl:text>END:VEVENT</xsl:text>
|
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
|
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<!-- Copy left by Tim Pritlove -->
|
<!-- Copy left by Tim Pritlove -->
|
||||||
|
|
151
xsl/xcal.xsl
151
xsl/xcal.xsl
|
@ -1,9 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
See: http://tools.ietf.org/html/draft-royer-calsch-xcal-03
|
||||||
|
-->
|
||||||
|
|
||||||
<xsl:stylesheet version="1.0"
|
<xsl:stylesheet version="1.0"
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
xmlns:date="http://exslt.org/dates-and-times"
|
xmlns:date="http://exslt.org/dates-and-times"
|
||||||
xmlns:crypto="http://exslt.org/crypto"
|
xmlns:crypto="http://exslt.org/crypto"
|
||||||
exclude-result-prefixes="xsl crypto date">
|
exclude-result-prefixes="xsl crypto date">
|
||||||
|
|
||||||
<xsl:output method="xml"
|
<xsl:output method="xml"
|
||||||
version="1.0"
|
version="1.0"
|
||||||
|
@ -12,76 +17,98 @@
|
||||||
doctype-system="DTD/xcal.dtd"
|
doctype-system="DTD/xcal.dtd"
|
||||||
indent="yes"/>
|
indent="yes"/>
|
||||||
|
|
||||||
<xsl:include href="date.xsl"/>
|
<xsl:include href="common.xsl"/>
|
||||||
|
|
||||||
<xsl:variable name="baseurl">https://www.c3d2.de/</xsl:variable>
|
<xsl:variable name="baseurl">https://www.c3d2.de/</xsl:variable>
|
||||||
|
|
||||||
<xsl:template match="/page">
|
<!--xsl:template match="/page">
|
||||||
<xsl:apply-templates/>
|
<xsl:apply-templates/>
|
||||||
</xsl:template>
|
</xsl:template-->
|
||||||
|
|
||||||
<xsl:template match="news">
|
<xsl:template match="calendar-summary">
|
||||||
<iCalendar>
|
<!-- xCal namespace specified in standard but nowhere used
|
||||||
|
except for inclusion in other XML documents
|
||||||
|
-->
|
||||||
|
<iCalendar xmlns:xCal="urn:ietf:params:xml:ns:xcal">
|
||||||
<vcalendar method="PUBLISH" version="2.0" prodid="-//C3D2-Web//event iCal-Export//DE">
|
<vcalendar method="PUBLISH" version="2.0" prodid="-//C3D2-Web//event iCal-Export//DE">
|
||||||
<xsl:for-each select="newsfile">
|
|
||||||
<xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" />
|
|
||||||
|
|
||||||
<xsl:if test="document(.)/item/event">
|
<xsl:for-each select="event">
|
||||||
<xsl:apply-templates select="document(.)/item">
|
<xsl:sort select="date:seconds(start)" data-type="number" order="descending" />
|
||||||
<xsl:with-param name="newsfile" select="."/>
|
|
||||||
</xsl:apply-templates>
|
|
||||||
</xsl:if>
|
|
||||||
|
|
||||||
|
<vevent>
|
||||||
|
<xsl:call-template name="uid"/>
|
||||||
|
<xsl:apply-templates select="start"/>
|
||||||
|
<xsl:apply-templates select="end"/>
|
||||||
|
<xsl:apply-templates select="title"/>
|
||||||
|
<xsl:apply-templates select="link"/>
|
||||||
|
<xsl:apply-templates select="location"/>
|
||||||
|
<xsl:call-template name="categories"/>
|
||||||
|
</vevent>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
|
||||||
</vcalendar>
|
</vcalendar>
|
||||||
</iCalendar>
|
</iCalendar>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="item">
|
<xsl:template name="uid">
|
||||||
<xsl:param name="newsfile"/>
|
<uid><xsl:value-of select="crypto:sha1(concat(title,start))"/>@www.c3d2.de</uid>
|
||||||
|
|
||||||
<vevent>
|
|
||||||
|
|
||||||
<uid><xsl:value-of select="crypto:sha1(concat(@title,@date))"/>@www.c3d2.de</uid>
|
|
||||||
|
|
||||||
<dtstamp>
|
|
||||||
<xsl:call-template name="date-to-hevent">
|
|
||||||
<xsl:with-param name="date" select="@date"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</dtstamp>
|
|
||||||
|
|
||||||
<dtstart>
|
|
||||||
<xsl:call-template name="date-to-hevent">
|
|
||||||
<xsl:with-param name="date" select="event/start"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</dtstart>
|
|
||||||
|
|
||||||
<xsl:if test="event/end">
|
|
||||||
<dtend>
|
|
||||||
<xsl:call-template name="date-to-hevent">
|
|
||||||
<xsl:with-param name="date" select="event/end"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</dtend>
|
|
||||||
</xsl:if>
|
|
||||||
|
|
||||||
<summary><xsl:value-of select="@title"/></summary>
|
|
||||||
|
|
||||||
<location><xsl:value-of select="event/location"/></location>
|
|
||||||
|
|
||||||
<categories>
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="starts-with($newsfile, 'content/news/ta-')">
|
|
||||||
<item>Themenabend</item>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:when test="starts-with($newsfile, 'content/news/event-')">
|
|
||||||
<item>Event</item>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<item>Misc</item>
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</categories>
|
|
||||||
|
|
||||||
</vevent>
|
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="start">
|
||||||
|
<dtstart>
|
||||||
|
<xsl:call-template name="date-to-hevent">
|
||||||
|
<xsl:with-param name="date" select="string(.)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</dtstart>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="end">
|
||||||
|
<!-- Hack? -->
|
||||||
|
<xsl:if test="not(string(.) = string(../start))">
|
||||||
|
<dtend>
|
||||||
|
<xsl:call-template name="date-to-hevent">
|
||||||
|
<xsl:with-param name="date" select="string(.)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</dtend>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="title">
|
||||||
|
<summary><xsl:value-of select="."/></summary>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="link">
|
||||||
|
<url>
|
||||||
|
<xsl:call-template name="make-href">
|
||||||
|
<xsl:with-param name="href" select="string(.)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</url>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="location">
|
||||||
|
<location><xsl:value-of select="."/></location>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="categories">
|
||||||
|
<categories>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="starts-with(link, 'news/ta-')">
|
||||||
|
<item>Themenabend</item>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="starts-with(link, 'news/event-')">
|
||||||
|
<item>Event</item>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="starts-with(link, 'news/pentaradio')">
|
||||||
|
<item>Radio</item>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="string(link) = 'radio.html'">
|
||||||
|
<item>Radio</item>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<item>Misc</item>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</categories>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
|
Loading…
Reference in New Issue