Moving docs tree to docs-xml to make room for generated docs in the release tarball.
[kai/samba-autobuild/.git] / docs-xml / xslt / db2latex-xsl / xsl / authorgroup.mod.xsl
1 <?xml version='1.0'?>
2 <!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
3 <!--############################################################################# 
4 |       $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $
5 |- #############################################################################
6 |       $Author: j-devenish $                                                                                           
7 + ############################################################################## -->
8
9 <xsl:stylesheet 
10         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
11         xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
12         exclude-result-prefixes="doc" version='1.0'>
13
14         <doc:reference id="authorgroup" xmlns="">
15                 <referenceinfo>
16                         <releaseinfo role="meta">
17                                 $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $
18                         </releaseinfo>
19                         <authorgroup>
20                                 &ramon;
21                                 &james;
22                         </authorgroup>
23                         <copyright>
24                                 <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
25                                 <holder>Ramon Casellas</holder>
26                         </copyright>
27                         <revhistory>
28                                 <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
29                         </revhistory>
30                 </referenceinfo>
31                 <title>Authorgroups <filename>authorgroup.mod.xsl</filename></title>
32                 <partintro>
33                         <para>The file <filename>authorgroup.mod.xsl</filename> contains the
34                         XSL templates for <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
35                         <doc:db>othercredit</doc:db><doc:db>personname</doc:db>, <doc:db>authorblurb</doc:db>,
36                         <doc:db>authorgroup</doc:db> and <doc:db>authorinitials</doc:db>.</para>
37                         <section>
38                                 <title>Pertinent Variables</title>
39                                 <itemizedlist>
40                                         <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
41                                 </itemizedlist>
42                         </section>
43                 </partintro>
44         </doc:reference>
45
46         <doc:template basename="authorgroup" xmlns="">
47                 <refpurpose>Process <doc:db>authorgroup</doc:db> elements</refpurpose>
48                 <doc:description>
49                         <para>
50                                 Formats a list of authors for typsetting as a formatted block
51                                 (not inline).
52                         </para>
53                         <para>
54                                 Applies templates for <doc:db>author</doc:db> elements,
55                                 inserting <quote>and</quote> between authors' names.
56                         </para>
57                 </doc:description>
58                 <doc:variables>
59                         &no_var;
60                 </doc:variables>
61                 <doc:params>
62                         <variablelist>
63                                 <varlistentry>
64                                         <term>person.list</term>
65                                         <listitem>
66                                                 <para>
67
68                                                         The nodes to be formatted. By default, the template
69                                                         will select child::author, child::corpauthor,
70                                                         child::othercredit and child::editor for the
71                                                         current node.
72
73                                                 </para>
74                                         </listitem>
75                                 </varlistentry>
76                         </variablelist>
77                 </doc:params>
78                 <doc:notes>
79                         <para>
80
81                                 May be called from any template when the current node has
82                                 <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
83                                 <doc:db>corpauthor</doc:db> or <doc:db>othercredit</doc:db> children.
84
85                         </para>
86                         <para>
87
88                                 This template uses <function
89                                 condition='xslt'>person.name.list</function> from
90                                 <filename>db2latex/xsl/common/common.xsl</filename> to format
91                                 the list of authors.
92
93                         </para>
94  
95                         <para>
96                         
97                                 For compatibility with &latex;, <xref
98                                 linkend="template.normalize-scape"/> is called on the output of
99                                 <function condition='xslt'>person.name.list</function>.
100                                 <doc:todo>This may pose problems but has not been
101                                 investigated.</doc:todo>
102                         
103                         </para>
104                 </doc:notes>
105                 <doc:samples>
106                         <simplelist type='inline'>
107                                 &test_article;
108                                 &test_biblio;
109                                 &test_bind;
110                                 &test_book;
111                                 &test_ieeebiblio;
112                                 &test_minimal;
113                         </simplelist>
114                 </doc:samples>
115         </doc:template>
116
117         <xsl:template match="authorgroup" name="authorgroup">
118                 <xsl:param name="person.list" select="./author|./corpauthor|./othercredit|./editor"/>
119                 <xsl:call-template name="normalize-scape">
120                         <xsl:with-param name="string">
121                                 <xsl:call-template name="person.name.list">
122                                         <xsl:with-param name="person.list" select="$person.list"/>
123                                 </xsl:call-template>
124                         </xsl:with-param>
125                 </xsl:call-template>
126         </xsl:template>
127
128         <doc:template xmlns="">
129                 <refpurpose>Process names of <doc:db>authors</doc:db> and similar elements</refpurpose>
130                 <doc:description>
131                         <para>
132
133                                 Formats a person's name for inline display.
134
135                         </para>
136                 </doc:description>
137                 <doc:variables>
138                         &no_var;
139                 </doc:variables>
140                 <doc:notes>
141
142                         <para>
143                         
144                         This template uses <function
145                         condition='xslt'>person.name</function> from
146                         <filename>db2latex/xsl/common/common.xsl</filename> to format the
147                         names of <doc:db>author</doc:db>, <doc:db>editor</doc:db>,
148                         <doc:db>othercredit</doc:db> and <doc:db>personname</doc:db>
149                         elements.
150                         
151                         </para>
152
153                         <para>
154                         
155                                 For compatibility with &latex;, <xref
156                                 linkend="template.normalize-scape"/> is called on the output of
157                                 <function condition='xslt'>person.name.list</function>.
158                                 <doc:todo>This may pose problems but has not been
159                                 investigated.</doc:todo>
160                         
161                         </para>
162
163                 </doc:notes>
164                 <doc:samples>
165                         <simplelist type='inline'>
166                                 <member>See <xref linkend="template.authorgroup"/>.</member>
167                         </simplelist>
168                 </doc:samples>
169         </doc:template>
170
171         <xsl:template match="author|editor|othercredit|personname">
172                 <xsl:call-template name="normalize-scape">
173                         <xsl:with-param name="string">
174                                 <xsl:call-template name="person.name"/>
175                         </xsl:with-param>
176                 </xsl:call-template>
177         </xsl:template>
178
179         <doc:template basename="authorinitials" xmlns="">
180                 <refpurpose>Process <doc:db>authorinitials</doc:db> elements</refpurpose>
181                 <doc:description>
182                         <para>
183
184                                 Represents <doc:db>authorinitials</doc:db> by applying templates
185                                 normally and then appending <xref
186                                 linkend="param.biblioentry.item.separator"/>.
187
188                         </para>
189                 </doc:description>
190                 <doc:variables>
191                         <itemizedlist>
192                                 <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
193                         </itemizedlist>
194                 </doc:variables>
195                 <doc:notes>
196                         <para>
197
198                         <doc:todo>The use of <xref linkend="param.biblioentry.item.separator"/>
199                         should be replaced with the normal localisation mechanism.</doc:todo>
200
201                         </para>
202                 </doc:notes>
203                 <doc:samples>
204                         <simplelist type='inline'>
205                                 &test_book;
206                                 &test_article;
207                                 &test_ieeebiblio;
208                                 &test_minimal;
209                         </simplelist>
210                 </doc:samples>
211         </doc:template>
212
213         <xsl:template match="authorinitials">
214                 <xsl:apply-templates/>
215                 <xsl:value-of select="$biblioentry.item.separator"/>
216         </xsl:template>
217
218 </xsl:stylesheet>