Date: Sat, 23 Apr 2016 15:16:25 +0000 (UTC) From: Ryusuke SUZUKI <ryusuke@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48718 - head/ja_JP.eucJP/share/xml Message-ID: <201604231516.u3NFGP1b012311@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ryusuke Date: Sat Apr 23 15:16:24 2016 New Revision: 48718 URL: https://svnweb.freebsd.org/changeset/doc/48718 Log: - Merge the following from the English version: r45681 -> r48669 head/ja_JP.eucJP/share/xml/templates.events.xsl Modified: head/ja_JP.eucJP/share/xml/templates.events.xsl Modified: head/ja_JP.eucJP/share/xml/templates.events.xsl ============================================================================== --- head/ja_JP.eucJP/share/xml/templates.events.xsl Fri Apr 22 21:12:04 2016 (r48717) +++ head/ja_JP.eucJP/share/xml/templates.events.xsl Sat Apr 23 15:16:24 2016 (r48718) @@ -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. + + 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. -<!-- 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. - - 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="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> - - <xsl:for-each select="/events"> - <xsl:call-template name="html-events-list-preface" /> - - <xsl:call-template name="html-events-map"> - <xsl:with-param name="mapurl" select="$imageurl" /> - </xsl:call-template> + <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> + + <xsl:for-each select="/events"> + <xsl:call-template name="html-events-list-preface" /> + + <xsl:call-template name="html-events-map"> + <xsl:with-param name="mapurl" select="$imageurl" /> + </xsl:call-template> - <xsl:call-template name="html-events-list-upcoming-heading" /> - </xsl:for-each> + <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: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> - - <!-- 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: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> + <xsl:with-param name="seperator" select="' '"/> + <xsl:with-param name="text" select="$pastyears"/> + </xsl:call-template> + </xsl:for-each> + </ul> + </div> <!-- contentwrap --> + + <br class="clearboth" /> +</xsl:template> + +<!-- 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. --> + <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:copy-of select="description/child::node()"/> + </p> + <xsl:if test="link"> + <p><xsl:apply-templates select="link"/></p> + </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"/> + <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> + <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: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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604231516.u3NFGP1b012311>