Improve transtable.{xml,xsl}, including:

- The structure of transtable.xml is revised.  <word> should be
   bracketed with <group>.

 - A sorting order of the FreeBSD mirror sites rendered using
   mirrors.xml has been determined by sort(1).

 - A template "transtable-lookup" has been added for localization on
   word-by-word basis.

 - Replace English month names in news.xml, press.xml, and
   advisories.xml with numbers that correspond to the names.
   The number->name translation is performed on the fly.

 - Since information in mirrors.xml is used in www/ tree, it depends on
   doc/ tree now.  When WITHOUT_DOC is defined it can be built without
   doc/ tree, but some information becomes unavailable.  For example,
   a list of the mirror sites generated in index.html becomes a dummy
   one, and calling "transtable-lookup" with a word returns the word
   itself.

Neither www/ nor doc/ build should be broken due to this commit, but
until the necessary changes are applied in the localized directories,
the transtable does not work; it simply generates non-localized contents
even if transtable.xsl is used.
This commit is contained in:
Hiroki Sato 2004-01-12 21:27:01 +00:00
parent 36bf2c8769
commit 925e309a67
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=19617
19 changed files with 541 additions and 348 deletions

View file

@ -2,7 +2,7 @@
<advisories>
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
<cvs:keyword name="freebsd">
$FreeBSD: www/share/sgml/advisories.xml,v 1.144 2003/11/30 21:28:41 hrs Exp $
$FreeBSD: www/share/sgml/advisories.xml,v 1.145 2004/01/06 20:26:27 nectar Exp $
</cvs:keyword>
</cvs:keywords>
@ -10,7 +10,7 @@
<name>2003</name>
<month>
<name>November</name>
<name>11</name>
<day>
<name>28</name>
@ -22,7 +22,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>27</name>
@ -61,7 +61,7 @@
</month>
<month>
<name>September</name>
<name>9</name>
<day>
<name>23</name>
@ -89,7 +89,7 @@
</month>
<month>
<name>August</name>
<name>8</name>
<day>
<name>26</name>
@ -125,7 +125,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>9</name>
@ -137,7 +137,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>8</name>
@ -165,7 +165,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>30</name>
@ -205,7 +205,7 @@
</month>
<month>
<name>February</name>
<name>2</name>
<day>
<name>24</name>
@ -233,7 +233,7 @@
</month>
<month>
<name>January</name>
<name>1</name>
<day>
<name>19</name>
@ -260,7 +260,7 @@
<name>2002</name>
<month>
<name>November</name>
<name>11</name>
<day>
<name>15</name>
@ -293,7 +293,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>10</name>
@ -310,7 +310,7 @@
</month>
<month>
<name>September</name>
<name>9</name>
<day>
<name>16</name>
@ -325,7 +325,7 @@
<month>
<name>August</name>
<name>8</name>
<day>
<name>28</name>
@ -388,7 +388,7 @@
</month>
<month>
<name>July</name>
<name>7</name>
<day>
<name>31</name>
@ -421,7 +421,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>26</name>
@ -449,7 +449,7 @@
</month>
<month>
<name>May</name>
<name>5</name>
<day>
<name>29</name>
@ -492,7 +492,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>22</name>
@ -532,7 +532,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>30</name>
@ -596,7 +596,7 @@
</month>
<month>
<name>February</name>
<name>2</name>
<day>
<name>21</name>
@ -633,7 +633,7 @@
</month>
<month>
<name>January</name>
<name>1</name>
<day>
<name>29</name>
@ -707,7 +707,7 @@
<name>2001</name>
<month>
<name>December</name>
<name>12</name>
<day>
<name>04</name>
@ -730,7 +730,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>08</name>
@ -747,7 +747,7 @@
</month>
<month>
<name>September</name>
<name>9</name>
<day>
<name>24</name>
@ -776,7 +776,7 @@
</month>
<month>
<name>August</name>
<name>8</name>
<day>
<name>30</name>
@ -837,7 +837,7 @@
</month>
<month>
<name>July</name>
<name>7</name>
<day>
<name>30</name>
@ -905,7 +905,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>04</name>
@ -918,7 +918,7 @@
</month>
<month>
<name>May</name>
<name>5</name>
<day>
<name>02</name>
@ -931,7 +931,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>23</name>
@ -988,7 +988,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>22</name>
@ -1031,7 +1031,7 @@
</month>
<month>
<name>February</name>
<name>2</name>
<day>
<name>14</name>
@ -1078,7 +1078,7 @@
</month>
<month>
<name>January</name>
<name>1</name>
<day>
<name>31</name>
@ -1193,7 +1193,7 @@
<name>2000</name>
<month>
<name>December</name>
<name>12</name>
<day>
<name>20</name>
@ -1231,7 +1231,7 @@
</month>
<month>
<name>November</name>
<name>11</name>
<day>
<name>20</name>
@ -1334,7 +1334,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>31</name>
@ -1400,7 +1400,7 @@
</month>
<month>
<name>September</name>
<name>9</name>
<day>
<name>27</name>
@ -1448,7 +1448,7 @@
</month>
<month>
<name>August</name>
<name>8</name>
<day>
<name>31</name>
@ -1525,7 +1525,7 @@
</month>
<month>
<name>July</name>
<name>7</name>
<day>
<name>12</name>
@ -1583,7 +1583,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>19</name>
@ -1620,7 +1620,7 @@
</month>
<month>
<name>May</name>
<name>5</name>
<day>
<name>26</name>
@ -1662,7 +1662,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>24</name>
@ -1704,7 +1704,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>15</name>
@ -1742,7 +1742,7 @@
</month>
<month>
<name>February</name>
<name>2</name>
<day>
<name>28</name>
@ -1770,7 +1770,7 @@
</month>
<month>
<name>January</name>
<name>1</name>
<day>
<name>24</name>
@ -1798,7 +1798,7 @@
<name>1999</name>
<month>
<name>September</name>
<name>9</name>
<day>
<name>16</name>
@ -1852,7 +1852,7 @@
<name>1998</name>
<month>
<name>November</name>
<name>11</name>
<day>
<name>04</name>
@ -1864,7 +1864,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>13</name>
@ -1877,7 +1877,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>10</name>
@ -1906,7 +1906,7 @@
</month>
<month>
<name>May</name>
<name>5</name>
<day>
<name>14</name>
@ -1919,7 +1919,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>12</name>
@ -1937,7 +1937,7 @@
<name>1997</name>
<month>
<name>December</name>
<name>12</name>
<day>
<name>09</name>
@ -1958,7 +1958,7 @@
</month>
<month>
<name>October</name>
<name>10</name>
<day>
<name>29</name>
@ -1971,7 +1971,7 @@
</month>
<month>
<name>August</name>
<name>8</name>
<day>
<name>19</name>
@ -1984,7 +1984,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>07</name>
@ -1997,7 +1997,7 @@
</month>
<month>
<name>March</name>
<name>3</name>
<day>
<name>26</name>
@ -2010,7 +2010,7 @@
</month>
<month>
<name>February</name>
<name>2</name>
<day>
<name>05</name>
@ -2024,7 +2024,7 @@
</month>
<month>
<name>January</name>
<name>1</name>
<day>
<name>18</name>
@ -2042,7 +2042,7 @@
<name>1996</name>
<month>
<name>December</name>
<name>12</name>
<day>
<name>16</name>
@ -2063,7 +2063,7 @@
</month>
<month>
<name>November</name>
<name>11</name>
<day>
<name>25</name>
@ -2076,7 +2076,7 @@
</month>
<month>
<name>July</name>
<name>7</name>
<day>
<name>16</name>
@ -2105,7 +2105,7 @@
</month>
<month>
<name>June</name>
<name>6</name>
<day>
<name>28</name>
@ -2134,7 +2134,7 @@
</month>
<month>
<name>May</name>
<name>5</name>
<day>
<name>21</name>
@ -2158,7 +2158,7 @@
</month>
<month>
<name>April</name>
<name>4</name>
<day>
<name>22</name>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- $FreeBSD: www/share/sgml/includes.misc.xsl,v 1.2 2003/12/06 07:39:32 hrs Exp $ -->
<!-- $FreeBSD: www/share/sgml/includes.misc.xsl,v 1.3 2004/01/06 23:47:08 hrs Exp $ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
@ -31,7 +31,12 @@
<xsl:template name="html-index-advisories-items-lastmodified">
<xsl:param name="advisories.xml" select="''" />
<xsl:value-of select="document($advisories.xml)/descendant::month[position() = 1]/name"/>
<xsl:call-template name="transtable-lookup">
<xsl:with-param name="word-group" select="'number-month'" />
<xsl:with-param name="word">
<xsl:value-of select="document($advisories.xml)/descendant::month[position() = 1]/name"/>
</xsl:with-param>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="document($advisories.xml)/descendant::day[position() = 1]/name"/>
<xsl:text>, </xsl:text>
@ -66,10 +71,15 @@
<xsl:template name="html-index-news-project-items-lastmodified">
<xsl:param name="news.project.xml" select="''" />
<xsl:value-of select="document($news.project.xml)/descendant::month[position() = 1]/name"/>
<xsl:call-template name="transtable-lookup">
<xsl:with-param name="word-group" select="'number-month'" />
<xsl:with-param name="word">
<xsl:value-of select="document($news.project.xml)/descendant::month[position() = 1]/name"/>
</xsl:with-param>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="document($news.project.xml)/descendant::day[position() = 1]/name"/>
<xsl:text> </xsl:text>
<xsl:text>, </xsl:text>
<xsl:value-of select="document($news.project.xml)/descendant::year[position() = 1]/name"/>
</xsl:template>
@ -94,7 +104,12 @@
<xsl:template name="html-index-news-press-items-lastmodified">
<xsl:param name="news.press.xml" select="''" />
<xsl:value-of select="document($news.press.xml)/descendant::month[position() = 1]/name"/>
<xsl:call-template name="transtable-lookup">
<xsl:with-param name="word-group" select="'number-month'" />
<xsl:with-param name="word">
<xsl:value-of select="document($news.press.xml)/descendant::month[position() = 1]/name"/>
</xsl:with-param>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="document($news.press.xml)/descendant::year[position() = 1]/name"/>
</xsl:template>
@ -105,42 +120,54 @@
<xsl:template name="html-index-mirrors-options-list">
<xsl:param name="mirrors.xml" select="''" />
<xsl:for-each select="document($mirrors.xml)/mirrors/entry[
(not(country/@role) or country/@role != 'primary')
and host[@type = 'www']/url[@proto = 'httpv6']]">
<xsl:sort select="country" />
<xsl:for-each select="host[@type = 'www']/url[@proto = 'httpv6']">
<option><xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
<xsl:choose>
<xsl:when test="last() = 1">
<xsl:value-of select="concat('IPv6 ', ../../country)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('IPv6 ', ../../country, '/', position())" />
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$mirrors.xml = ''">
<option value="NONE">
**No Data**
</option>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:for-each select="document($mirrors.xml)/mirrors/entry[
(not(country/@role) or country/@role != 'primary')
and host[@type = 'www']/url[@proto = 'http']]">
<xsl:sort select="country" />
<xsl:otherwise>
<xsl:for-each select="document($mirrors.xml)/mirrors/entry[
(not(country/@role) or country/@role != 'primary') and
host[@type = 'www']/url[@proto = 'httpv6']]">
<xsl:sort select="country/@sortkey" data-type="number" />
<xsl:sort select="country" />
<xsl:for-each select="host[@type = 'www']/url[@proto = 'http']">
<option><xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
<xsl:choose>
<xsl:when test="last() = 1">
<xsl:value-of select="../../country" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(../../country, '/', position())" />
</xsl:otherwise>
</xsl:choose>
</option>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="host[@type = 'www']/url[@proto = 'httpv6']">
<option><xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
<xsl:choose>
<xsl:when test="last() = 1">
<xsl:value-of select="concat('IPv6 ', ../../country)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('IPv6 ', ../../country, '/', position())" />
</xsl:otherwise>
</xsl:choose>
</option>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="document($mirrors.xml)/mirrors/entry[
(not(country/@role) or country/@role != 'primary') and
host[@type = 'www']/url[@proto = 'http']]">
<xsl:sort select="country/@sortkey" data-type="number" />
<xsl:sort select="country" />
<xsl:for-each select="host[@type = 'www']/url[@proto = 'http']">
<option><xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
<xsl:choose>
<xsl:when test="last() = 1">
<xsl:value-of select="../../country" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(../../country, '/', position())" />
</xsl:otherwise>
</xsl:choose>
</option>
</xsl:for-each>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View file

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- $FreeBSD$ -->
<!-- $FreeBSD: www/share/sgml/includes.xsl,v 1.1 2003/11/24 18:26:34 hrs Exp $ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="./includes.header.xsl" />
<xsl:import href="./includes.misc.xsl" />
<xsl:import href="./includes.release.xsl" />
<xsl:import href="./transtable-common.xsl" />
<xsl:variable name="base" select="'.'" />
<xsl:variable name="enbase" select="concat ($base, '/..')" />

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- these params should be externally bound. The values
here are not used actually -->
<xsl:param name="transtable.xml" select="'./transtable.xml'" />
<xsl:param name="transtable-sortkey.xml" select="'./transtable-sortkey.xml'" />
<xsl:key name="transtable-lookup-key" match="word" use="orig" />
<xsl:key name="transtable-sortkey-lookup-key" match="word" use="@orig" />
<xsl:template name="transtable-lookup">
<xsl:param name="word" select="''"/>
<xsl:param name="word-group" select="''"/>
<xsl:choose>
<xsl:when test="document($transtable.xml)/transtable/group[@id = $word-group]">
<xsl:for-each select="document($transtable.xml)/transtable/group[@id = $word-group]">
<xsl:choose>
<xsl:when test="key('transtable-lookup-key', $word)">
<xsl:for-each select="key('transtable-lookup-key', $word)">
<xsl:value-of select="tran" />
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$word" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$word" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="transtable-sortkey-lookup">
<xsl:param name="word" select="''"/>
<xsl:for-each select="document($transtable-sortkey.xml)/sortkeys">
<xsl:for-each select="key('transtable-sortkey-lookup-key', $word)">
<xsl:attribute name="sortkey">
<xsl:value-of select="@sortkey" />
</xsl:attribute>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>