| |
XSLT的本土化 |
|
<?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>
|
|
|
Related examples in the same category |
|