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
+ ############################################################################## -->
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'>
14
<doc:reference id="authorgroup" xmlns="">
16
<releaseinfo role="meta">
17
$Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $
24
<year>2000</year><year>2001</year><year>2002</year><year>2003</year>
25
<holder>Ramon Casellas</holder>
28
<doc:revision rcasver="1.6">&rev_2003_05;</doc:revision>
31
<title>Authorgroups <filename>authorgroup.mod.xsl</filename></title>
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>
38
<title>Pertinent Variables</title>
40
<listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
46
<doc:template basename="authorgroup" xmlns="">
47
<refpurpose>Process <doc:db>authorgroup</doc:db> elements</refpurpose>
50
Formats a list of authors for typsetting as a formatted block
54
Applies templates for <doc:db>author</doc:db> elements,
55
inserting <quote>and</quote> between authors' names.
64
<term>person.list</term>
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
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.
88
This template uses <function
89
condition='xslt'>person.name.list</function> from
90
<filename>db2latex/xsl/common/common.xsl</filename> to format
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>
106
<simplelist type='inline'>
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"/>
128
<doc:template xmlns="">
129
<refpurpose>Process names of <doc:db>authors</doc:db> and similar elements</refpurpose>
133
Formats a person's name for inline display.
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>
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>
165
<simplelist type='inline'>
166
<member>See <xref linkend="template.authorgroup"/>.</member>
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"/>
179
<doc:template basename="authorinitials" xmlns="">
180
<refpurpose>Process <doc:db>authorinitials</doc:db> elements</refpurpose>
184
Represents <doc:db>authorinitials</doc:db> by applying templates
185
normally and then appending <xref
186
linkend="param.biblioentry.item.separator"/>.
192
<listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem>
198
<doc:todo>The use of <xref linkend="param.biblioentry.item.separator"/>
199
should be replaced with the normal localisation mechanism.</doc:todo>
204
<simplelist type='inline'>
213
<xsl:template match="authorinitials">
214
<xsl:apply-templates/>
215
<xsl:value-of select="$biblioentry.item.separator"/>