- 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" ?> | ||||
| <!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 rsslink "&enbase;/events/rss.xml"> | ||||
| <!ENTITY rsstitle "今後開催予定の FreeBSD 関連イベント"> | ||||
|  | @ -8,35 +11,41 @@ | |||
| 
 | ||||
| <!-- $FreeBSD$ --> | ||||
| <!-- The FreeBSD Japanese Documentation Project --> | ||||
| <!-- Original revision: r45681 --> | ||||
| <!-- Original revision: r48669 --> | ||||
| 
 | ||||
| <!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org> | ||||
|      Copyright (c) 2008 Murray M Stokely <murray@FreeBSD.org> | ||||
|      All rights reserved. | ||||
| <!--  Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org> | ||||
|       Copyright (c) 2008 Murray M Stokely <murray@FreeBSD.org> | ||||
|       All rights reserved. | ||||
| 
 | ||||
|      Redistribution and use in source and binary forms, with or without | ||||
|      modification, are permitted provided that the following conditions | ||||
|      are met: | ||||
|      1. Redistributions of source code must retain the above copyright | ||||
| 	notice, this list of conditions and the following disclaimer. | ||||
|      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. | ||||
|       Redistribution and use in source and binary forms, with or | ||||
|       without modification, are permitted provided that the following | ||||
|       conditions are met: | ||||
| 
 | ||||
|     1.  Redistributions of source code must retain the above | ||||
| 	copyright notice, this list of conditions and the following | ||||
| 	disclaimer. | ||||
|     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="http://www.w3.org/1999/xhtml" | ||||
|   extension-element-prefixes="date"> | ||||
|  | @ -57,9 +66,9 @@ | |||
| 	    (number(enddate/year) = number(date:year()) and | ||||
| 	     number(enddate/month) > number(date:month-in-year())) or | ||||
| 	    (number(enddate/year) = number(date:year()) and | ||||
| 	     number(enddate/month) = number(date:month-in-year()) and | ||||
| 	     enddate/day >= date:day-in-month()))]" | ||||
|     use="location/country" /> | ||||
| 	    number(enddate/month) = number(date:month-in-year()) and | ||||
| 	    enddate/day >= date:day-in-month()))]" | ||||
| 	    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'" /> | ||||
| 
 | ||||
|  | @ -71,273 +80,276 @@ | |||
| 
 | ||||
|   <xsl:template name="process.content"> | ||||
|   <xsl:variable name="chart-countries"> | ||||
|     <xsl:for-each select="/evetns/event[ | ||||
| 	generate-id() = | ||||
| 	generate-id(key('event-by-country', location/country)[1])]"> | ||||
|     <xsl:for-each select="//event[ | ||||
|       generate-id() = | ||||
|       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:value-of select="location/country/@code" /> | ||||
|       <xsl:value-of select="location/country/@code" /> | ||||
|     </xsl:for-each> | ||||
|   </xsl:variable> | ||||
| 
 | ||||
|   <xsl:variable name="chart-country-counts"> | ||||
|     <xsl:for-each select="/events/event[ | ||||
| 	generate-id() = | ||||
| 	generate-id(key('event-by-country', location/country)[1])]"> | ||||
|     <xsl:for-each select="//event[ | ||||
|       generate-id() = | ||||
|       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: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="position()!=last()">,</xsl:if></xsl:for-each> | ||||
| 	<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="position()!=last()">,</xsl:if></xsl:for-each> | ||||
|   </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"> | ||||
|                 &nav.community; | ||||
|                 <div id="feedlinks"> | ||||
|                   <ul> | ||||
|                     <li> | ||||
|                       <a href="&rsslink;" title="&rsstitle;"> | ||||
|                         RSS 2.0 Feed | ||||
|                       </a> | ||||
|                     </li> | ||||
|                   </ul> | ||||
|                 </div> <!-- FEEDLINKS --> | ||||
|               </div> <!-- SIDEWRAP --> | ||||
|   <div id="sidewrap"> | ||||
|     &nav.community; | ||||
|     <div id="feedlinks"> | ||||
|       <ul> | ||||
| 	<li> | ||||
| 	  <a href="&rsslink;" title="&rsstitle;">RSS 2.0 Feed</a> | ||||
| 	</li> | ||||
|       </ul> | ||||
|     </div> <!-- FEEDLINKS --> | ||||
|   </div> <!-- SIDEWRAP --> | ||||
| 
 | ||||
| 	      <div id="contentwrap"> | ||||
| 		<h1>&title;</h1> | ||||
|  	<!-- | ||||
| 	     Note the current date to have a reference, if the | ||||
| 	     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> | ||||
|   <div id="contentwrap"> | ||||
|     <h1>&title;</h1> | ||||
|     <!-- Note the current date to have a reference, if the --> | ||||
|     <!-- upcoming/past events are split incorrectly.       --> | ||||
| 
 | ||||
| 	<xsl:for-each select="/events"> | ||||
| 		<xsl:call-template name="html-events-list-preface" /> | ||||
|     <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:call-template name="html-events-map"> | ||||
| 		  <xsl:with-param name="mapurl" select="$imageurl" /> | ||||
| 		</xsl:call-template> | ||||
|     <xsl:for-each select="/events"> | ||||
|       <xsl:call-template name="html-events-list-preface" /> | ||||
| 
 | ||||
| 		<xsl:call-template name="html-events-list-upcoming-heading" /> | ||||
| 	</xsl:for-each> | ||||
|       <xsl:call-template name="html-events-map"> | ||||
| 	<xsl:with-param name="mapurl" select="$imageurl" /> | ||||
|       </xsl:call-template> | ||||
| 
 | ||||
| 	<xsl:for-each select="/events/event[generate-id() = | ||||
|           generate-id(key('event-by-month', | ||||
| 	    concat(startdate/year, format-number(startdate/month, '00')))[1]) | ||||
| 	  and ((number(enddate/year) > number($curdate.year)) or | ||||
| 	    (number(enddate/year) = number($curdate.year) and | ||||
| 	     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:call-template name="html-events-list-upcoming-heading" /> | ||||
|     </xsl:for-each> | ||||
| 
 | ||||
|     <xsl:for-each select="/events/event[generate-id() = | ||||
|       generate-id(key('event-by-month', | ||||
|       concat(startdate/year, format-number(startdate/month, '00')))[1]) | ||||
|       and ((number(enddate/year) > number($curdate.year)) or | ||||
|       (number(enddate/year) = number($curdate.year) and | ||||
|       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"/> | ||||
| 
 | ||||
| 	  <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:apply-templates select="." mode="upcoming"/> | ||||
| 	</xsl:for-each> | ||||
|       </ul> | ||||
|     </xsl:for-each> | ||||
| 
 | ||||
| 	<xsl:for-each select="/events"> | ||||
| 	<xsl:call-template name="html-events-list-past-heading" /> | ||||
| 	</xsl:for-each> | ||||
|     <xsl:for-each select="/events"> | ||||
|       <xsl:call-template name="html-events-list-past-heading" /> | ||||
|     </xsl:for-each> | ||||
| 
 | ||||
| 	<xsl:for-each select="/events/event[generate-id() = | ||||
| 	  generate-id(key('event-by-month', concat(startdate/year, | ||||
| 	    format-number(startdate/month, '00')))[1]) | ||||
| 	  and ((number(enddate/year) >= $startyear)) and | ||||
|            ((number(enddate/year) < number($curdate.year)) or | ||||
| 	    (number(enddate/year) = number($curdate.year) and | ||||
| 	     number(enddate/month) < number($curdate.month)) or | ||||
| 	    (number(enddate/year) = number($curdate.year) and | ||||
| 	     number(enddate/month) = number($curdate.month) and | ||||
| 	     number(enddate/day) < number($curdate.day)))]"> | ||||
|     <xsl:for-each select="/events/event[generate-id() = | ||||
|       generate-id(key('event-by-month', concat(startdate/year, | ||||
|       format-number(startdate/month, '00')))[1]) | ||||
|       and ((number(enddate/year) >= $startyear)) and | ||||
|       ((number(enddate/year) < number($curdate.year)) or | ||||
|       (number(enddate/year) = number($curdate.year) and | ||||
|       number(enddate/month) < number($curdate.month)) or | ||||
|       (number(enddate/year) = number($curdate.year) and | ||||
|       number(enddate/month) = number($curdate.month) and | ||||
|       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"/> | ||||
| 
 | ||||
| 	  <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:apply-templates select="."/> | ||||
| 	</xsl:for-each> | ||||
|       </ul> | ||||
|     </xsl:for-each> | ||||
| 
 | ||||
| 	<p>過去のイベント</p> | ||||
|     <p>過去のイベント</p> | ||||
| 
 | ||||
|         <ul id="events-past-years"> | ||||
| 	<xsl:for-each select="/events"> | ||||
|     <ul id="events-past-years"> | ||||
|       <xsl:for-each select="/events"> | ||||
| 	<xsl:call-template name="split-string"> | ||||
|           <xsl:with-param name="seperator" select="' '"/> | ||||
|           <xsl:with-param name="text" select="$pastyears"/> | ||||
|         </xsl:call-template> | ||||
| 	</xsl:for-each> | ||||
|         </ul> | ||||
| 	      </div> <!-- contentwrap --> | ||||
|   </xsl:template> | ||||
| 	  <xsl:with-param name="seperator" select="' '"/> | ||||
| 	  <xsl:with-param name="text" select="$pastyears"/> | ||||
| 	</xsl:call-template> | ||||
|       </xsl:for-each> | ||||
|     </ul> | ||||
|   </div> <!-- contentwrap --> | ||||
| 
 | ||||
|   <!-- Template: event --> | ||||
|   <xsl:template name="eventbody"> | ||||
|       <xsl:attribute name="id"> | ||||
| 	<xsl:call-template name="generate-event-anchor"/> | ||||
|       </xsl:attribute> | ||||
|   <br class="clearboth" /> | ||||
| </xsl:template> | ||||
| 
 | ||||
|       <p> | ||||
| 	<b> | ||||
| 	  <xsl:if test="url"> | ||||
| 	    <xsl:apply-templates select="url"/> | ||||
| 	  </xsl:if> | ||||
| 	  <xsl:if test="not(url)"> | ||||
| 	    <xsl:value-of select="name"/> | ||||
| 	  </xsl:if> | ||||
| 	</b> | ||||
| 	<xsl:if test="location/site!=''"> | ||||
| 	  <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> | ||||
| <!-- Template: event --> | ||||
| <xsl:template name="eventbody"> | ||||
|   <xsl:attribute name="id"> | ||||
|     <xsl:call-template name="generate-event-anchor"/> | ||||
|   </xsl:attribute> | ||||
| 
 | ||||
|   <p> | ||||
|     <b> | ||||
|       <xsl:if test="url"> | ||||
| 	<xsl:apply-templates select="url"/> | ||||
|       </xsl:if> | ||||
|   </xsl:template> | ||||
| 
 | ||||
|   <!-- Template: event --> | ||||
|   <xsl:template match="event" mode="upcoming"> | ||||
|     <li> | ||||
|       <xsl:call-template name="eventbody"/> | ||||
|     </li> | ||||
|   </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 test="not(url)"> | ||||
| 	<xsl:value-of select="name"/> | ||||
|       </xsl:if> | ||||
|     </b> | ||||
|     <xsl:if test="location/site!=''"> | ||||
|       <xsl:text>, </xsl:text> | ||||
|       <xsl:value-of select="location/site"/> | ||||
|     </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 --> | ||||
|   <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> | ||||
| <!-- Template: event --> | ||||
| <xsl:template match="event" mode="upcoming"> | ||||
|   <li> | ||||
|     <xsl:call-template name="eventbody"/> | ||||
|   </li> | ||||
| </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> | ||||
| <!-- 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: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> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue