- 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.
		
			
				
	
	
		
			90 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="iso-8859-1"?>
 | |
| <!-- $FreeBSD$ -->
 | |
| 
 | |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 | |
| 
 | |
|   <xsl:import href="./transtable-common.xsl" />
 | |
| 
 | |
|   <xsl:output type="xml" encoding="iso-8859-1"
 | |
| 	      indent="yes"/>
 | |
| 
 | |
|   <!-- these params should be externally bound. The values
 | |
|        here are not used actually -->
 | |
|   <xsl:param name="transtable-target-element" select="''" />
 | |
|   <xsl:param name="transtable-word-group" select="''" />
 | |
|   <xsl:param name="transtable-mode" select="''" />
 | |
| 
 | |
|   <xsl:template match="/">
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="$transtable-mode = 'sortkey'">
 | |
| 	<xsl:apply-templates mode="sortkey"/>
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
| 	<xsl:apply-templates />
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template match="*">
 | |
|     <xsl:copy>
 | |
|       <xsl:copy-of select="@*" />
 | |
|       <xsl:apply-templates />
 | |
|     </xsl:copy>
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template match="*[local-name() = $transtable-target-element]">
 | |
|     <xsl:element name="{local-name(.)}" namespace="{namespace-uri(.)}">
 | |
|       <xsl:copy-of select="@*" />
 | |
| 
 | |
|       <xsl:call-template name="transtable-sortkey-lookup">
 | |
| 	<xsl:with-param name="word" select="." />
 | |
| 	<xsl:with-param name="word-group" select="$transtable-word-group" />
 | |
|       </xsl:call-template>
 | |
| 
 | |
|       <xsl:call-template name="transtable-lookup">
 | |
|         <xsl:with-param name="word" select="." />
 | |
|         <xsl:with-param name="word-group" select="$transtable-word-group" />
 | |
|       </xsl:call-template>
 | |
|     </xsl:element>
 | |
|   </xsl:template>
 | |
| 
 | |
|  <!-- mode for generating sortkeytable -->
 | |
| 
 | |
|   <xsl:template match="*" mode="sortkey">
 | |
|     <xsl:apply-templates mode="sortkey"/>
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template match="text()" mode="sortkey">
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template match="*[local-name() = $transtable-target-element]" mode="sortkey">
 | |
|     <xsl:text>  </xsl:text>
 | |
| 
 | |
|     <xsl:comment>
 | |
|       <xsl:call-template name="transtable-lookup">
 | |
| 	<xsl:with-param name="word" select="." />
 | |
| 	<xsl:with-param name="word-group" select="$transtable-word-group" />
 | |
|       </xsl:call-template>
 | |
|     </xsl:comment>
 | |
| 
 | |
|     <xsl:element name="word">
 | |
|       <xsl:attribute name="name">
 | |
| 	<xsl:call-template name="transtable-lookup">
 | |
| 	  <xsl:with-param name="word" select="." />
 | |
| 	<xsl:with-param name="word-group" select="$transtable-word-group" />
 | |
| 	</xsl:call-template>
 | |
|       </xsl:attribute>
 | |
| 
 | |
|       <xsl:attribute name="orig">
 | |
| 	<xsl:value-of select="." />
 | |
|       </xsl:attribute>
 | |
| 
 | |
|       <xsl:attribute name="sortkey">
 | |
| 	<xsl:value-of select="'@sortkey@'" />
 | |
|       </xsl:attribute>
 | |
|     </xsl:element>
 | |
| 
 | |
|     <xsl:text disable-output-escaping="yes">
</xsl:text>
 | |
| 
 | |
|   </xsl:template>
 | |
| </xsl:stylesheet>
 |