<?xml version="1.0" encoding="UTF-8"?>

<!-- 日記見出しデータ for wb.cgi 作成（時系列降順） -->

<xsl:stylesheet version="1.0" 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:h="http://www.w3.org/1999/xhtml"
	xmlns:s="http://www.remus.dti.ne.jp/~a-satomi/"
	xmlns:js="http://www.remus.dti.ne.jp/~a-satomi/jsfunc"
	xmlns:fl="http://www.remus.dti.ne.jp/~a-satomi/filelist"
	exclude-result-prefixes="h s js fl">

<xsl:import href="common.xsl"/>

<!-- ================ 出力設定 ================  -->

<xsl:output method="xml"
	encoding="UTF-8"
	omit-xml-declaration="yes"
	media-type="text/plain"/>

<!-- ================ 各種設定 ================  -->

<xsl:param name="year"/><!-- シェルスクリプトからの Xalan 起動時に -param オプションにて付与 -->

<!-- ================ テンプレ ================  -->

<xsl:template match="/">
	<xsl:text>%titles = (
</xsl:text>
	<xsl:apply-templates select="
		document($fileList)/fl:dir/fl:dir[@name = 'nikki']/fl:dir[@name = $year]/fl:file[@name != 'index.html']">
			<xsl:sort select="@name" data-type="text" order="descending"/>
	</xsl:apply-templates>
	<xsl:text>);
1;
</xsl:text>
</xsl:template>

<xsl:template match="fl:file">
	<xsl:param name="filePath" select="concat($baseDir, '/nikki/', parent::fl:dir/@name, '/', @name)"/>
	<xsl:apply-templates select="document($filePath)/h:html/h:h3"/>
</xsl:template>

<xsl:template match="h:h3">
	<xsl:apply-templates select="@id"/>
	<xsl:text disable-output-escaping="yes"> =&gt; </xsl:text>
	<xsl:text>'</xsl:text>
	<xsl:value-of select="js:replace(string(self::node()), '/\u0027/g', '&amp;#39;')" disable-output-escaping="yes"/>
	<xsl:text>',
</xsl:text>
</xsl:template>

<xsl:template match="@id">
	<xsl:param name="tb_id_seed" select="concat(/h:html/h:head/s:file/@path, '#', self::node())"/>
	<xsl:text>	'</xsl:text>
	<xsl:value-of select="
		js:replace($tb_id_seed, '/^/.+\/(\d+)\/(\w+)\.xml#d(\d+)n(\d+)$/', '$1_$2_$3_$4')"/>
	<xsl:text>'</xsl:text>
</xsl:template>

</xsl:stylesheet>

