- Merge the following from the English version:
r45681 -> r48669 head/ja_JP.eucJP/share/xml/templates.events.xsl
This commit is contained in:
parent
8edf7ac2ad
commit
51681ed350
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48718
1 changed files with 277 additions and 265 deletions
|
@ -1,6 +1,9 @@
|
||||||
<?xml version="1.0" encoding="euc-jp" ?>
|
<?xml version="1.0" encoding="euc-jp" ?>
|
||||||
<!DOCTYPE xsl:stylesheet PUBLIC "-//FreeBSD//DTD FreeBSD XSLT 1.0 DTD Fragment//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/xslt10-freebsd.dtd" [
|
<!DOCTYPE xsl:stylesheet PUBLIC
|
||||||
|
"-//FreeBSD//DTD FreeBSD XSLT 1.0 DTD Fragment//EN"
|
||||||
|
"http://www.FreeBSD.org/XML/share/xml/xslt10-freebsd.dtd" [
|
||||||
|
|
||||||
<!ENTITY title "FreeBSD 関連イベント">
|
<!ENTITY title "FreeBSD 関連イベント">
|
||||||
<!ENTITY rsslink "&enbase;/events/rss.xml">
|
<!ENTITY rsslink "&enbase;/events/rss.xml">
|
||||||
<!ENTITY rsstitle "今後開催予定の FreeBSD 関連イベント">
|
<!ENTITY rsstitle "今後開催予定の FreeBSD 関連イベント">
|
||||||
|
@ -8,35 +11,41 @@
|
||||||
|
|
||||||
<!-- $FreeBSD$ -->
|
<!-- $FreeBSD$ -->
|
||||||
<!-- The FreeBSD Japanese Documentation Project -->
|
<!-- The FreeBSD Japanese Documentation Project -->
|
||||||
<!-- Original revision: r45681 -->
|
<!-- Original revision: r48669 -->
|
||||||
|
|
||||||
<!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
|
<!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
|
||||||
Copyright (c) 2008 Murray M Stokely <murray@FreeBSD.org>
|
Copyright (c) 2008 Murray M Stokely <murray@FreeBSD.org>
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or
|
||||||
modification, are permitted provided that the following conditions
|
without modification, are permitted provided that the following
|
||||||
are met:
|
conditions are met:
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
1. Redistributions of source code must retain the above
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
copyright notice, this list of conditions and the following
|
||||||
notice, this list of conditions and the following disclaimer in the
|
disclaimer.
|
||||||
documentation and/or other materials provided with the distribution.
|
2. Redistributions in binary form must reproduce the above
|
||||||
|
copyright notice, this list of conditions and the following
|
||||||
|
disclaimer in the documentation and/or other materials
|
||||||
|
provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||||
|
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
|
||||||
|
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGE.
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
version="1.0"
|
||||||
xmlns:date="http://exslt.org/dates-and-times"
|
xmlns:date="http://exslt.org/dates-and-times"
|
||||||
xmlns="http://www.w3.org/1999/xhtml"
|
xmlns="http://www.w3.org/1999/xhtml"
|
||||||
extension-element-prefixes="date">
|
extension-element-prefixes="date">
|
||||||
|
@ -57,9 +66,9 @@
|
||||||
(number(enddate/year) = number(date:year()) and
|
(number(enddate/year) = number(date:year()) and
|
||||||
number(enddate/month) > number(date:month-in-year())) or
|
number(enddate/month) > number(date:month-in-year())) or
|
||||||
(number(enddate/year) = number(date:year()) and
|
(number(enddate/year) = number(date:year()) and
|
||||||
number(enddate/month) = number(date:month-in-year()) and
|
number(enddate/month) = number(date:month-in-year()) and
|
||||||
enddate/day >= date:day-in-month()))]"
|
enddate/day >= date:day-in-month()))]"
|
||||||
use="location/country" />
|
use="location/country" />
|
||||||
|
|
||||||
<xsl:variable name="charturl" select="'https://chart.googleapis.com/chart?cht=t&chs=400x200&chtm=world&chco=ffffff,ffbe38,600000&chf=bg,s,4D89F9'" />
|
<xsl:variable name="charturl" select="'https://chart.googleapis.com/chart?cht=t&chs=400x200&chtm=world&chco=ffffff,ffbe38,600000&chf=bg,s,4D89F9'" />
|
||||||
|
|
||||||
|
@ -71,273 +80,276 @@
|
||||||
|
|
||||||
<xsl:template name="process.content">
|
<xsl:template name="process.content">
|
||||||
<xsl:variable name="chart-countries">
|
<xsl:variable name="chart-countries">
|
||||||
<xsl:for-each select="/evetns/event[
|
<xsl:for-each select="//event[
|
||||||
generate-id() =
|
generate-id() =
|
||||||
generate-id(key('event-by-country', location/country)[1])]">
|
generate-id(key('event-by-country', location/country)[1])]">
|
||||||
<xsl:sort select="format-number(count(key('event-by-country', location/country)), '000')" order="descending"/>
|
<xsl:sort select="format-number(count(key('event-by-country', location/country)), '000')" order="descending"/>
|
||||||
<xsl:value-of select="location/country/@code" />
|
<xsl:value-of select="location/country/@code" />
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
||||||
<xsl:variable name="chart-country-counts">
|
<xsl:variable name="chart-country-counts">
|
||||||
<xsl:for-each select="/events/event[
|
<xsl:for-each select="//event[
|
||||||
generate-id() =
|
generate-id() =
|
||||||
generate-id(key('event-by-country', location/country)[1])]">
|
generate-id(key('event-by-country', location/country)[1])]">
|
||||||
<xsl:sort select="format-number(count(key('event-by-country', location/country)), '000')" order="descending"/>
|
<xsl:sort select="format-number(count(key('event-by-country', location/country)), '000')" order="descending"/>
|
||||||
<xsl:if test="count(key('upcoming-event-by-country', location/country)) != 0">100.0</xsl:if>
|
<xsl:if test="count(key('upcoming-event-by-country', location/country)) != 0">100.0</xsl:if>
|
||||||
<xsl:if test="count(key('upcoming-event-by-country', location/country)) = 0"><xsl:value-of select="count(key('event-by-country', location/country))" />.0</xsl:if>
|
<xsl:if test="count(key('upcoming-event-by-country', location/country)) = 0"><xsl:value-of select="count(key('event-by-country', location/country))" />.0</xsl:if>
|
||||||
<xsl:if test="position()!=last()">,</xsl:if></xsl:for-each>
|
<xsl:if test="position()!=last()">,</xsl:if></xsl:for-each>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
||||||
<xsl:variable name="imageurl"><xsl:value-of select="$charturl"/>&chd=t:<xsl:value-of select="$chart-country-counts"/>&chld=<xsl:value-of select="$chart-countries"/></xsl:variable>
|
<xsl:variable name="imageurl"><xsl:value-of select="$charturl"/>&chd=t:<xsl:value-of select="$chart-country-counts"/>&chld=<xsl:value-of select="$chart-countries"/></xsl:variable>
|
||||||
|
|
||||||
<div id="sidewrap">
|
<div id="sidewrap">
|
||||||
&nav.community;
|
&nav.community;
|
||||||
<div id="feedlinks">
|
<div id="feedlinks">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="&rsslink;" title="&rsstitle;">
|
<a href="&rsslink;" title="&rsstitle;">RSS 2.0 Feed</a>
|
||||||
RSS 2.0 Feed
|
</li>
|
||||||
</a>
|
</ul>
|
||||||
</li>
|
</div> <!-- FEEDLINKS -->
|
||||||
</ul>
|
</div> <!-- SIDEWRAP -->
|
||||||
</div> <!-- FEEDLINKS -->
|
|
||||||
</div> <!-- SIDEWRAP -->
|
|
||||||
|
|
||||||
<div id="contentwrap">
|
<div id="contentwrap">
|
||||||
<h1>&title;</h1>
|
<h1>&title;</h1>
|
||||||
<!--
|
<!-- Note the current date to have a reference, if the -->
|
||||||
Note the current date to have a reference, if the
|
<!-- upcoming/past events are split incorrectly. -->
|
||||||
upcoming/past events are split incorrectly.
|
|
||||||
-->
|
|
||||||
<xsl:comment>
|
|
||||||
<xsl:text>Generated on: </xsl:text>
|
|
||||||
<xsl:value-of select="concat($curdate.year,
|
|
||||||
format-number($curdate.month, '00'),
|
|
||||||
format-number($curdate.day, '00'))"/>
|
|
||||||
</xsl:comment>
|
|
||||||
|
|
||||||
<xsl:for-each select="/events">
|
<xsl:comment>
|
||||||
<xsl:call-template name="html-events-list-preface" />
|
<xsl:text>Generated on: </xsl:text>
|
||||||
|
<xsl:value-of select="concat($curdate.year,
|
||||||
|
format-number($curdate.month, '00'),
|
||||||
|
format-number($curdate.day, '00'))"/>
|
||||||
|
</xsl:comment>
|
||||||
|
|
||||||
<xsl:call-template name="html-events-map">
|
<xsl:for-each select="/events">
|
||||||
<xsl:with-param name="mapurl" select="$imageurl" />
|
<xsl:call-template name="html-events-list-preface" />
|
||||||
</xsl:call-template>
|
|
||||||
|
|
||||||
<xsl:call-template name="html-events-list-upcoming-heading" />
|
<xsl:call-template name="html-events-map">
|
||||||
</xsl:for-each>
|
<xsl:with-param name="mapurl" select="$imageurl" />
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
<xsl:for-each select="/events/event[generate-id() =
|
<xsl:call-template name="html-events-list-upcoming-heading" />
|
||||||
generate-id(key('event-by-month',
|
</xsl:for-each>
|
||||||
concat(startdate/year, format-number(startdate/month, '00')))[1])
|
|
||||||
and ((number(enddate/year) > number($curdate.year)) or
|
<xsl:for-each select="/events/event[generate-id() =
|
||||||
(number(enddate/year) = number($curdate.year) and
|
generate-id(key('event-by-month',
|
||||||
number(enddate/month) > number($curdate.month)) or
|
concat(startdate/year, format-number(startdate/month, '00')))[1])
|
||||||
(number(enddate/year) = number($curdate.year) and
|
and ((number(enddate/year) > number($curdate.year)) or
|
||||||
number(enddate/month) = number($curdate.month) and
|
(number(enddate/year) = number($curdate.year) and
|
||||||
enddate/day >= $curdate.day))]">
|
number(enddate/month) > number($curdate.month)) or
|
||||||
|
(number(enddate/year) = number($curdate.year) and
|
||||||
|
number(enddate/month) = number($curdate.month) and
|
||||||
|
enddate/day >= $curdate.day))]">
|
||||||
|
|
||||||
|
<xsl:sort select="startdate/year" order="ascending"/>
|
||||||
|
<xsl:sort select="format-number(startdate/month, '00')"
|
||||||
|
order="ascending"/>
|
||||||
|
<xsl:sort select="format-number(startdate/day, '00')"
|
||||||
|
order="ascending"/>
|
||||||
|
|
||||||
|
<h3>
|
||||||
|
<xsl:attribute name="id">
|
||||||
|
<xsl:text>month:</xsl:text>
|
||||||
|
<xsl:value-of select="concat(startdate/year,
|
||||||
|
format-number(startdate/month, '00'))"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
|
||||||
|
<xsl:value-of select="startdate/year"/>
|
||||||
|
<xsl:text> 年 </xsl:text>
|
||||||
|
<xsl:value-of select="startdate/month"/>
|
||||||
|
|
||||||
|
<xsl:text> 月</xsl:text>
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<xsl:for-each select="key('event-by-month',
|
||||||
|
concat(startdate/year, format-number(startdate/month, '00')))">
|
||||||
|
|
||||||
<xsl:sort select="startdate/year" order="ascending"/>
|
|
||||||
<xsl:sort select="format-number(startdate/month, '00')" order="ascending"/>
|
|
||||||
<xsl:sort select="format-number(startdate/day, '00')" order="ascending"/>
|
<xsl:sort select="format-number(startdate/day, '00')" order="ascending"/>
|
||||||
|
<xsl:apply-templates select="." mode="upcoming"/>
|
||||||
<h3>
|
|
||||||
<xsl:attribute name="id">
|
|
||||||
<xsl:text>month:</xsl:text>
|
|
||||||
<xsl:value-of select="concat(startdate/year,
|
|
||||||
format-number(startdate/month, '00'))"/>
|
|
||||||
</xsl:attribute>
|
|
||||||
<xsl:value-of select="startdate/year"/>
|
|
||||||
<xsl:text> 年 </xsl:text>
|
|
||||||
<xsl:value-of select="startdate/month"/>
|
|
||||||
<xsl:text> 月</xsl:text>
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<xsl:for-each select="key('event-by-month',
|
|
||||||
concat(startdate/year, format-number(startdate/month, '00')))">
|
|
||||||
|
|
||||||
<xsl:sort select="format-number(startdate/day, '00')" order="ascending"/>
|
|
||||||
<xsl:apply-templates select="." mode="upcoming"/>
|
|
||||||
</xsl:for-each>
|
|
||||||
</ul>
|
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
</ul>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
<xsl:for-each select="/events">
|
<xsl:for-each select="/events">
|
||||||
<xsl:call-template name="html-events-list-past-heading" />
|
<xsl:call-template name="html-events-list-past-heading" />
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
|
||||||
<xsl:for-each select="/events/event[generate-id() =
|
<xsl:for-each select="/events/event[generate-id() =
|
||||||
generate-id(key('event-by-month', concat(startdate/year,
|
generate-id(key('event-by-month', concat(startdate/year,
|
||||||
format-number(startdate/month, '00')))[1])
|
format-number(startdate/month, '00')))[1])
|
||||||
and ((number(enddate/year) >= $startyear)) and
|
and ((number(enddate/year) >= $startyear)) and
|
||||||
((number(enddate/year) < number($curdate.year)) or
|
((number(enddate/year) < number($curdate.year)) or
|
||||||
(number(enddate/year) = number($curdate.year) and
|
(number(enddate/year) = number($curdate.year) and
|
||||||
number(enddate/month) < number($curdate.month)) or
|
number(enddate/month) < number($curdate.month)) or
|
||||||
(number(enddate/year) = number($curdate.year) and
|
(number(enddate/year) = number($curdate.year) and
|
||||||
number(enddate/month) = number($curdate.month) and
|
number(enddate/month) = number($curdate.month) and
|
||||||
number(enddate/day) < number($curdate.day)))]">
|
number(enddate/day) < number($curdate.day)))]">
|
||||||
|
|
||||||
|
<xsl:sort select="number(startdate/year)" order="descending"/>
|
||||||
|
<xsl:sort select="format-number(startdate/month, '00')" order="descending"/>
|
||||||
|
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
|
||||||
|
|
||||||
|
<h3>
|
||||||
|
<xsl:attribute name="id">
|
||||||
|
<xsl:text>month:</xsl:text>
|
||||||
|
<xsl:value-of select="concat(startdate/year,
|
||||||
|
format-number(startdate/month, '00'))"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
<xsl:value-of select="startdate/year"/>
|
||||||
|
<xsl:text> 年 </xsl:text>
|
||||||
|
<xsl:value-of select="startdate/month"/>
|
||||||
|
<xsl:text> 月</xsl:text>
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<xsl:for-each select="key('event-by-month',
|
||||||
|
concat(startdate/year, format-number(startdate/month, '00')))">
|
||||||
|
|
||||||
<xsl:sort select="number(startdate/year)" order="descending"/>
|
|
||||||
<xsl:sort select="format-number(startdate/month, '00')" order="descending"/>
|
|
||||||
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
|
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
|
||||||
|
<xsl:apply-templates select="."/>
|
||||||
<h3>
|
|
||||||
<xsl:attribute name="id">
|
|
||||||
<xsl:text>month:</xsl:text>
|
|
||||||
<xsl:value-of select="concat(startdate/year,
|
|
||||||
format-number(startdate/month, '00'))"/>
|
|
||||||
</xsl:attribute>
|
|
||||||
<xsl:value-of select="startdate/year"/>
|
|
||||||
<xsl:text> 年 </xsl:text>
|
|
||||||
<xsl:value-of select="startdate/month"/>
|
|
||||||
<xsl:text> 月</xsl:text>
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<xsl:for-each select="key('event-by-month',
|
|
||||||
concat(startdate/year, format-number(startdate/month, '00')))">
|
|
||||||
|
|
||||||
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
|
|
||||||
<xsl:apply-templates select="."/>
|
|
||||||
</xsl:for-each>
|
|
||||||
</ul>
|
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
</ul>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
<p>過去のイベント</p>
|
<p>過去のイベント</p>
|
||||||
|
|
||||||
<ul id="events-past-years">
|
<ul id="events-past-years">
|
||||||
<xsl:for-each select="/events">
|
<xsl:for-each select="/events">
|
||||||
<xsl:call-template name="split-string">
|
<xsl:call-template name="split-string">
|
||||||
<xsl:with-param name="seperator" select="' '"/>
|
<xsl:with-param name="seperator" select="' '"/>
|
||||||
<xsl:with-param name="text" select="$pastyears"/>
|
<xsl:with-param name="text" select="$pastyears"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</ul>
|
</ul>
|
||||||
</div> <!-- contentwrap -->
|
</div> <!-- contentwrap -->
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- Template: event -->
|
<br class="clearboth" />
|
||||||
<xsl:template name="eventbody">
|
</xsl:template>
|
||||||
<xsl:attribute name="id">
|
|
||||||
<xsl:call-template name="generate-event-anchor"/>
|
|
||||||
</xsl:attribute>
|
|
||||||
|
|
||||||
<p>
|
<!-- Template: event -->
|
||||||
<b>
|
<xsl:template name="eventbody">
|
||||||
<xsl:if test="url">
|
<xsl:attribute name="id">
|
||||||
<xsl:apply-templates select="url"/>
|
<xsl:call-template name="generate-event-anchor"/>
|
||||||
</xsl:if>
|
</xsl:attribute>
|
||||||
<xsl:if test="not(url)">
|
|
||||||
<xsl:value-of select="name"/>
|
<p>
|
||||||
</xsl:if>
|
<b>
|
||||||
</b>
|
<xsl:if test="url">
|
||||||
<xsl:if test="location/site!=''">
|
<xsl:apply-templates select="url"/>
|
||||||
<xsl:text>, </xsl:text>
|
|
||||||
<xsl:value-of select="location/site"/>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="location/city!=''">
|
|
||||||
<xsl:text>, </xsl:text>
|
|
||||||
<xsl:value-of select="location/city"/>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="location/state!=''">
|
|
||||||
<xsl:text>, </xsl:text>
|
|
||||||
<xsl:value-of select="location/state"/>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="location/country!=''">
|
|
||||||
<xsl:text>, </xsl:text>
|
|
||||||
<xsl:value-of select="location/country"/>
|
|
||||||
</xsl:if>
|
|
||||||
<br/>
|
|
||||||
<em>
|
|
||||||
<xsl:call-template name="gen-date-interval">
|
|
||||||
<xsl:with-param name="startdate" select="startdate" />
|
|
||||||
<xsl:with-param name="enddate" select="enddate" />
|
|
||||||
</xsl:call-template>
|
|
||||||
</em><br/>
|
|
||||||
<xsl:apply-templates select="description/child::node()" mode="copy.html"/>
|
|
||||||
</p>
|
|
||||||
<xsl:if test="link">
|
|
||||||
<p><xsl:apply-templates select="link"/></p>
|
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
<xsl:if test="not(url)">
|
||||||
|
<xsl:value-of select="name"/>
|
||||||
<!-- Template: event -->
|
</xsl:if>
|
||||||
<xsl:template match="event" mode="upcoming">
|
</b>
|
||||||
<li>
|
<xsl:if test="location/site!=''">
|
||||||
<xsl:call-template name="eventbody"/>
|
<xsl:text>, </xsl:text>
|
||||||
</li>
|
<xsl:value-of select="location/site"/>
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- Template: event -->
|
|
||||||
<xsl:template match="event">
|
|
||||||
<xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable>
|
|
||||||
<xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
|
|
||||||
<xsl:variable name="name" select="name" />
|
|
||||||
<xsl:variable name="lcname" select="translate($name, $upper, $lower)" />
|
|
||||||
|
|
||||||
<!-- Note that only AsiaBSDCon, DCBSDCon, MeetBSD, and NYCBSDCon have
|
|
||||||
a significant number of videos on YouTube so we hard code them
|
|
||||||
for now. When we have a better track record of getting videos
|
|
||||||
from our conferences posted to YouTube then we can implement a
|
|
||||||
more generic solution here, but for now we don't want to add the
|
|
||||||
link to youtube when we know in most cases there is no content
|
|
||||||
there. -->
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<xsl:call-template name="eventbody"/>
|
|
||||||
<p>ソーシャルリンク : <a rel="nofollow">
|
|
||||||
<xsl:attribute name="href">http://www.flickr.com/search/?w=all&q=<xsl:value-of select="name" />&m=text</xsl:attribute>
|
|
||||||
Flickr</a>, <a rel="nofollow">
|
|
||||||
<xsl:attribute name="href">http://blogsearch.google.com/blogsearch?q=<xsl:value-of select="name" /></xsl:attribute>Blog Search</a><xsl:if test="contains($lcname, 'meetbsd') or contains($lcname, 'nycbsdcon') or contains($lcname, 'dcbsdcon') or contains($lcname, 'asiabsdcon')">,
|
|
||||||
<a rel="nofollow">
|
|
||||||
<xsl:attribute name="href">http://www.youtube.com/results?search_query=bsdconferences+<xsl:value-of select="name" /></xsl:attribute>YouTube</a></xsl:if>.</p>
|
|
||||||
</li>
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- Template: link -->
|
|
||||||
<xsl:template match="link">
|
|
||||||
<xsl:apply-templates select="url"/>
|
|
||||||
<xsl:if test="not(position()=last())">
|
|
||||||
<xsl:text> </xsl:text>
|
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
<xsl:if test="location/city!=''">
|
||||||
|
<xsl:text>, </xsl:text>
|
||||||
|
<xsl:value-of select="location/city"/>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="location/state!=''">
|
||||||
|
<xsl:text>, </xsl:text>
|
||||||
|
<xsl:value-of select="location/state"/>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="location/country!=''">
|
||||||
|
<xsl:text>, </xsl:text>
|
||||||
|
<xsl:value-of select="location/country"/>
|
||||||
|
</xsl:if>
|
||||||
|
<br/>
|
||||||
|
<em>
|
||||||
|
<xsl:call-template name="gen-date-interval">
|
||||||
|
<xsl:with-param name="startdate" select="startdate" />
|
||||||
|
<xsl:with-param name="enddate" select="enddate" />
|
||||||
|
</xsl:call-template>
|
||||||
|
</em><br/>
|
||||||
|
<xsl:copy-of select="description/child::node()"/>
|
||||||
|
</p>
|
||||||
|
<xsl:if test="link">
|
||||||
|
<p><xsl:apply-templates select="link"/></p>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<!-- Template: url -->
|
<!-- Template: event -->
|
||||||
<xsl:template match="url">
|
<xsl:template match="event" mode="upcoming">
|
||||||
<a>
|
<li>
|
||||||
<xsl:attribute name="href">
|
<xsl:call-template name="eventbody"/>
|
||||||
<xsl:if test="@type='freebsd-website'">&base;</xsl:if>
|
</li>
|
||||||
<xsl:value-of select="."/>
|
</xsl:template>
|
||||||
</xsl:attribute>
|
|
||||||
<xsl:value-of select="../name"/>
|
|
||||||
</a>
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<xsl:template name="split-string">
|
<!-- Template: event -->
|
||||||
<xsl:param name="seperator"/>
|
<xsl:template match="event">
|
||||||
<xsl:param name="text"/>
|
<xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable>
|
||||||
<xsl:variable name="first" select="substring-before($text, $seperator)"/>
|
<xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
|
||||||
<xsl:choose>
|
<xsl:variable name="name" select="name" />
|
||||||
<xsl:when test="$first or substring-after($text,$seperator)">
|
<xsl:variable name="lcname" select="translate($name, $upper, $lower)" />
|
||||||
<xsl:if test="$first">
|
|
||||||
<li><a>
|
<!-- Note that only AsiaBSDCon, DCBSDCon, MeetBSD, and NYCBSDCon have
|
||||||
<xsl:attribute name="href">events<xsl:value-of select="$first"/>.html</xsl:attribute>
|
a significant number of videos on YouTube so we hard code them
|
||||||
<xsl:value-of select="$first" />
|
for now. When we have a better track record of getting videos
|
||||||
</a></li>
|
from our conferences posted to YouTube then we can implement a
|
||||||
</xsl:if>
|
more generic solution here, but for now we don't want to add the
|
||||||
<xsl:call-template name="split-string">
|
link to youtube when we know in most cases there is no content
|
||||||
<xsl:with-param name="text" select="substring-after($text,$seperator)"/>
|
there. -->
|
||||||
<xsl:with-param name="seperator" select="$seperator"/>
|
|
||||||
</xsl:call-template>
|
<li>
|
||||||
</xsl:when>
|
<xsl:call-template name="eventbody"/>
|
||||||
<xsl:otherwise>
|
<p>ソーシャルリンク : <a rel="nofollow">
|
||||||
<li><a>
|
<xsl:attribute name="href">http://www.flickr.com/search/?w=all&q=<xsl:value-of select="name" />&m=text</xsl:attribute>
|
||||||
<xsl:attribute name="href">events<xsl:value-of select="$text"/>.html</xsl:attribute>
|
Flickr</a>, <a rel="nofollow">
|
||||||
<xsl:value-of select="$text" />
|
<xsl:attribute name="href">http://blogsearch.google.com/blogsearch?q=<xsl:value-of select="name" /></xsl:attribute>Blog Search</a><xsl:if test="contains($lcname, 'meetbsd') or contains($lcname, 'nycbsdcon') or contains($lcname, 'dcbsdcon') or contains($lcname, 'asiabsdcon')">,
|
||||||
</a></li>
|
<a rel="nofollow">
|
||||||
</xsl:otherwise>
|
<xsl:attribute name="href">http://www.youtube.com/results?search_query=bsdconferences+<xsl:value-of select="name" /></xsl:attribute>YouTube</a></xsl:if>.</p>
|
||||||
</xsl:choose>
|
</li>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Template: link -->
|
||||||
|
<xsl:template match="link">
|
||||||
|
<xsl:apply-templates select="url"/>
|
||||||
|
<xsl:if test="not(position()=last())">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Template: url -->
|
||||||
|
<xsl:template match="url">
|
||||||
|
<a>
|
||||||
|
<xsl:attribute name="href">
|
||||||
|
<xsl:if test="@type='freebsd-website'">&base;</xsl:if>
|
||||||
|
<xsl:value-of select="."/>
|
||||||
|
</xsl:attribute>
|
||||||
|
<xsl:value-of select="../name"/>
|
||||||
|
</a>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="split-string">
|
||||||
|
<xsl:param name="seperator"/>
|
||||||
|
<xsl:param name="text"/>
|
||||||
|
<xsl:variable name="first" select="substring-before($text, $seperator)"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="$first or substring-after($text,$seperator)">
|
||||||
|
<xsl:if test="$first">
|
||||||
|
<li><a>
|
||||||
|
<xsl:attribute name="href">events<xsl:value-of select="$first"/>.html</xsl:attribute>
|
||||||
|
<xsl:value-of select="$first" />
|
||||||
|
</a></li>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:call-template name="split-string">
|
||||||
|
<xsl:with-param name="text" select="substring-after($text,$seperator)"/>
|
||||||
|
<xsl:with-param name="seperator" select="$seperator"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<li><a>
|
||||||
|
<xsl:attribute name="href">events<xsl:value-of select="$text"/>.html</xsl:attribute>
|
||||||
|
<xsl:value-of select="$text" />
|
||||||
|
</a></li>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
|
Loading…
Reference in a new issue