Mega Code Archive

 
Categories / Java / XML
 

XSLT I18N

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="directory_es.xslt"?> <directory>   <employee category="manager">     <name>Joe S</name>     <phone>4-1111</phone>   </employee>   <employee category="programmer">     <name>A B</name>     <phone>4-2222</phone>   </employee>   <employee category="programmer">     <name>C D</name>     <phone>4-3333</phone>   </employee> </directory> //directory_en.xslt <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="html" encoding="UTF-8"/>      <!-- Isolate locale-specific content -->   <xsl:variable name="lang.pageTitle" select="'Employee Directory'"/>   <xsl:variable name="lang.nameHeading" select="'Name'"/>   <xsl:variable name="lang.categoryHeading" select="'Category'"/>   <xsl:variable name="lang.phoneHeading" select="'Phone'"/>   <xsl:variable name="lang.manager" select="'Manager'"/>   <xsl:variable name="lang.programmer" select="'Programmer'"/>   <xsl:variable name="lang.other" select="'Other'"/>      <xsl:template match="/">     <html>       <head>         <title><xsl:value-of select="$lang.pageTitle"/></title>       </head>       <body>         <h1><xsl:value-of select="$lang.pageTitle"/></h1>         <table cellpadding="4" cellspacing="0" border="1">           <tr>             <th><xsl:value-of select="$lang.nameHeading"/></th>             <th><xsl:value-of select="$lang.categoryHeading"/></th>             <th><xsl:value-of select="$lang.phoneHeading"/></th>           </tr>           <xsl:for-each select="directory/employee">             <tr>               <td>                 <xsl:value-of select="name"/>               </td>               <td>                 <xsl:choose>                   <xsl:when test="@category='manager'">                     <xsl:value-of select="$lang.manager"/>                   </xsl:when>                   <xsl:when test="@category='programmer'">                     <xsl:value-of select="$lang.programmer"/>                   </xsl:when>                   <xsl:otherwise>                     <xsl:value-of select="$lang.other"/>                   </xsl:otherwise>                 </xsl:choose>               </td>               <td>                 <xsl:value-of select="phone"/>               </td>             </tr>           </xsl:for-each>         </table>       </body>     </html>   </xsl:template> </xsl:stylesheet> //directory_basic.xslt <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="html" encoding="UTF-8"/>   <xsl:template match="/">     <html>       <head>         <title>Employee Directory</title>       </head>       <body>         <h1>Employee Directory</h1>         <table cellpadding="4" cellspacing="0" border="1">           <tr>             <th>Name</th>             <th>Category</th>             <th>Phone</th>           </tr>           <xsl:for-each select="directory/employee">             <tr>               <td>                 <xsl:value-of select="name"/>               </td>               <td>                 <xsl:choose>                   <xsl:when test="@category='manager'">                     <xsl:text>Manager</xsl:text>                   </xsl:when>                   <xsl:when test="@category='programmer'">                     <xsl:text>Programmer</xsl:text>                   </xsl:when>                   <xsl:otherwise>                     <xsl:text>Other</xsl:text>                   </xsl:otherwise>                 </xsl:choose>               </td>               <td>                 <xsl:value-of select="phone"/>               </td>             </tr>           </xsl:for-each>         </table>       </body>     </html>   </xsl:template> </xsl:stylesheet> //directory_es.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:import href="directory_en.xslt"/>   <xsl:output method="html" encoding="UTF-8"/>      <!-- Isolate locale-specific content -->   <xsl:variable name="lang.pageTitle" select="'Empleado guia telefonica'"/>   <xsl:variable name="lang.nameHeading" select="'Nombre'"/>   <xsl:variable name="lang.categoryHeading" select="'Categoria'"/>   <xsl:variable name="lang.phoneHeading" select="'Telefono'"/>   <xsl:variable name="lang.manager" select="'Gerente'"/>   <xsl:variable name="lang.programmer" select="'Programador'"/>   <xsl:variable name="lang.other" select="'Otro'"/>    </xsl:stylesheet>