1 <?xml version=
"1.0" encoding=
"UTF-8"?>
3 <!-- template(s) common to "authors_docbook.xsl" and "author_text.xsl" -->
5 <xsl:stylesheet version=
"1.0"
6 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
7 xmlns:
dc=
"http://purl.org/dc/elements/1.1/">
9 <!-- ============================================================= -->
10 <xsl:template name=
"lang.split">
11 <!-- ============================================================= -->
13 Convert space-separated list of language ids
14 to comma separated list of language names,
15 e.g., "de en fr" to "German, English, French"
17 <xsl:param name=
"lang"/>
19 <xsl:when test=
"contains($lang, ' ')">
20 <xsl:call-template name=
"print.lang">
21 <xsl:with-param name=
"langid" select=
"substring-before($lang,' ')"/>
23 <xsl:text>,
</xsl:text>
24 <xsl:call-template name=
"lang.split">
25 <xsl:with-param name=
"lang" select=
"substring-after($lang,' ')"/>
29 <xsl:call-template name=
"print.lang">
30 <xsl:with-param name=
"langid" select=
"$lang"/>
36 <!-- ============================================================= -->
37 <xsl:template name=
"print.lang">
38 <!-- ============================================================= -->
40 Convert language id to language name (e.g., "en" to "English")
42 <xsl:param name=
"langid" />
43 <!-- use underscores for spaces within languages,
44 e.g. xx:Pidgin_English -->
45 <xsl:variable name=
"languages">
68 <xsl:variable name=
"tail"
69 select=
"substring-after($languages,concat($langid,':'))"/>
71 <xsl:when test=
"$tail != ''">
72 <xsl:value-of select=
"translate(
73 normalize-space(substring-before($tail,' ')),
77 <xsl:value-of select=
"$langid"/>