<?xml version="1.0" ?>
<!-- vim: sw=2 sta et
-->
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<appendix lang="en" id="i18n-system-property">
<appendixinfo>
<author>
<firstname>Steve</firstname>
<surname>Cheng</surname>
<affiliation>
<address><email>stevecheng@users.sourceforge.net</email></address>
</affiliation>
</author>
<date>July 14, 2002</date>
<abstract>
<para>
This document proposes a class of XSLT system properties for enabling
internationalization of stylesheets (transparent to the user).
</para>
</abstract>
</appendixinfo>
<title>XSLT system property for stylesheet internationalization</title>
<para>
The following system properties should be made available to stylesheets
(via the <function>system-property</function> function):
<variablelist>
<varlistentry>
<term>
<literal role="xml-qname">i18n:message-language</literal>
</term>
<listitem>
<para>
Specifies the language that the stylesheet should use for user
messages (i.e. the content of
<sgmltag class="element">xsl:message</sgmltag>).
</para>
<para>
The language is named with language identifiers as defined
by IETF RFC 1766, the same format used by <sgmltag
class="attribute">xml:lang</sgmltag> <footnote><para>
The GNU <envar>LANGUAGE</envar> environment variable
allows the user to specify an ordered list of languages, so that
if a translation for the user's first desired language is
not available, then as a fallback a translation from the
user's second desired language is used, and so on.
Although this functionality is nice to have, it can be
difficult to implement in XSLT
stylesheets.</para></footnote>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
The <literal role="xml-nsprefix">i18n</literal> prefix
refers to the namespace <literal
role="xml-nsuri">http://docbook2x.sourceforge.net/xsl/i18n</literal>
<footnote><para>This specification can be changed later to remove the docbook2X
reference later.</para></footnote>. Other information pertaining to
internationalization can also be included in this namespace in
future revisions of this specification.
</para>
</appendix>