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"/>