<?xml version="1.0" encoding="UTF-8"?>

<!--
　RSS を XHTML (の定義リスト) へ変換。他。
　XSLT プロセッサ内蔵のブラウザによる利用が想定されるため、
　Xalan-Java の拡張機能を使っている common.xsl 等を呼び出さないよう注意。＞自分
-->

<xsl:stylesheet version="1.0" 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:rss="http://purl.org/rss/1.0/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	exclude-result-prefixes="rss rdf dc sy">

<!-- ================ メインテンプレ ================  -->

<xsl:template match="rdf:RDF">
	<xsl:param name="item-num" select="15"/><!-- リストアップする項目数デフォルト -->
	<dl>
		<xsl:apply-templates select="rss:item[position() &lt;= $item-num]">
			<!-- xsl:sort select="translate(dc:date, '/: ', '')" data-type="number" order="descending"/ -->
		</xsl:apply-templates>
	</dl>
</xsl:template>

<xsl:template match="rss:item">
	<dt>
		<span class="datetime">(<xsl:apply-templates select="dc:date"/>)</span>
		<a href="{rss:link}"><xsl:value-of select="rss:title"/></a>
	</dt>
	<dd>
		<xsl:value-of select="rss:description"/>
	</dd>
</xsl:template>

<xsl:template match="dc:date">
	<xsl:choose>
		<xsl:when test="contains(node(), 'T')">
			<xsl:value-of select="translate(substring-before(node(), 'T'), '-', '/')"/>
			<xsl:text> - </xsl:text>
			<xsl:value-of select="substring-before(substring-after(node(), 'T'), ':00+')"/>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="translate(node(), '-', '/')"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>

</xsl:stylesheet>
