1 <?xml version=
"1.0" encoding=
"UTF-8"?>
3 <!-- simple XSL transformation to create a docbook section -->
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/"
8 exclude-result-prefixes=
"dc">
10 <!-- template "lang.split" -->
11 <xsl:import href=
"authors_common.xsl" />
13 <xsl:output method=
"xml" encoding=
"UTF-8" indent=
"yes"
14 doctype-public=
"-//OASIS//DTD DocBook XML V4.3//EN"
15 doctype-system=
"http://www.docbook.org/xml/4.3/docbookx.dtd"/>
17 <xsl:param name=
"roles">creator documenter artist technican
</xsl:param>
18 <xsl:param name=
"print.roles.with.lang">creator documenter
</xsl:param>
21 <!-- ============================================================= -->
22 <xsl:template match=
"/dc:gimp-authors">
23 <!-- ============================================================= -->
25 Do not edit this file directly. It was generated automatically
26 from
"stylesheets/authors.xml".
29 <sect1 id=
"gimp-team" lang=
"en">
32 <xsl:when test=
"dc:title">
33 <xsl:value-of select=
"dc:title"/>
34 <xsl:text> Authors and Contributors
</xsl:text>
37 <acronym>GIMP
</acronym> User Manual Authors and Contributors
43 <!-- create recursively "varlistentry" nodes -->
44 <xsl:call-template name=
"print.listentry">
45 <xsl:with-param name=
"roles">
46 <xsl:value-of select=
"normalize-space($roles)"/>
53 <!-- ============================================================= -->
54 <xsl:template name=
"print.listentry">
55 <!-- ============================================================= -->
56 <!-- parameter: space-separated list of roles -->
57 <xsl:param name=
"roles" select=
"''"/>
58 <xsl:variable name=
"role">
60 <xsl:when test=
"contains($roles,' ')">
61 <xsl:value-of select=
"substring-before($roles,' ')"/>
64 <xsl:value-of select=
"$roles"/>
68 <xsl:if test=
"$role != ''">
71 <xsl:variable name=
"name" select=
"concat($role,'s')"/>
73 <xsl:when test=
"$name = 'creators'">
74 <xsl:text>Content Writers
</xsl:text>
76 <xsl:when test=
"$name = 'documenters'">
77 <xsl:text>Proof Reading
</xsl:text>
79 <xsl:when test=
"$name = 'artists'">
80 <xsl:text>Graphics, Stylesheets
</xsl:text>
82 <xsl:when test=
"$name = 'technicans'">
83 <xsl:text>Build System, Technical Contributions
</xsl:text>
87 <xsl:text>ERROR: Unknown role '
</xsl:text>
88 <xsl:value-of select=
"$name"/>
89 <xsl:text>' in
"authors_docbook.xml".
</xsl:text>
91 <xsl:text>FIXME
</xsl:text>
96 <simplelist type=
"inline">
97 <!-- whether to print "John Doe (English)" or "John Doe" -->
98 <xsl:variable name=
"with.language">
100 <xsl:when test=
"contains($print.roles.with.lang, $role)">
101 <xsl:value-of select=
"1"/>
104 <xsl:value-of select=
"0"/>
108 <!-- extract authors and contributors -->
110 <!-- technicans may be creators or contributors -->
111 <xsl:when test=
"$role = 'technican'">
112 <xsl:for-each select=
"//dc:contributor[contains(@role, $role)] |
113 //dc:creator[contains(@role, $role)]">
114 <xsl:call-template name=
"print.item">
115 <xsl:with-param name=
"print.language" select=
"$with.language"/>
119 <!-- print contributors? -->
120 <xsl:when test=
"$role != 'creator'">
121 <xsl:for-each select=
"//dc:contributor[contains(@role, $role)]">
122 <xsl:call-template name=
"print.item">
123 <xsl:with-param name=
"print.language" select=
"$with.language"/>
127 <!-- print creators -->
129 <xsl:for-each select=
"//dc:creator">
130 <xsl:call-template name=
"print.item">
131 <xsl:with-param name=
"print.language" select=
"$with.language"/>
139 <!-- if necessary, print next list entry -->
140 <xsl:if test=
"contains($roles,' ')">
141 <xsl:call-template name=
"print.listentry">
142 <xsl:with-param name=
"roles">
143 <xsl:value-of select=
"substring-after($roles,' ')"/>
150 <!-- ============================================================= -->
151 <xsl:template name=
"print.item">
152 <!-- ============================================================= -->
153 <xsl:param name=
"print.language">1</xsl:param>
156 <xsl:apply-templates match=
"." />
157 <xsl:if test=
"@lang != '' and $print.language != 0">
158 <xsl:text> (
</xsl:text>
159 <xsl:call-template name=
"lang.split">
160 <xsl:with-param name=
"lang" select=
"@lang" />
162 <xsl:text>)
</xsl:text>