In this section, we explore the key techniques for internationalization (i18n) using XSLT. Although both Java and XSLT offer excellent support for i18n, pulling everything together into a working application is quite challenging. Hopefully this material will help to minimize some of the common obstacles.
In its simplest form, i18n is
accomplished by providing a separate XSLT stylesheet for each
supported language. While this is easy to visualize, it results in
far too much duplication of effort. This is because XSLT stylesheets
typically contain some degree of programming logic in addition to
pure display information. To illustrate this point,
is presented in Example 8-16. This is a very basic
XML datafile that will be transformed using either English or Spanish
Example 8-16. directory.xml
<?xml version="1.0" encoding="UTF-8"?> <directory> <employee category="manager"> <name>Joe Smith</name> <phone>4-0192</phone> </employee> <employee category="programmer"> <name>Sally Jones</name> <phone>4-2831</phone> </employee> <employee category="programmer"> <name>Roger Clark</name> <phone>4-3345</phone> </employee> </directory>
The screen shot shown in Figure 8-6 shows how an XSLT stylesheet transforms this XML into HTML.
And finally, Example 8-17 lists the XSLT stylesheet that produces this output.
Figure 8-6. English ...