diff options
Diffstat (limited to 'docs/xslt/db2latex-xsl/xsl/authorgroup.mod.xsl')
-rw-r--r-- | docs/xslt/db2latex-xsl/xsl/authorgroup.mod.xsl | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/docs/xslt/db2latex-xsl/xsl/authorgroup.mod.xsl b/docs/xslt/db2latex-xsl/xsl/authorgroup.mod.xsl new file mode 100644 index 0000000000..3c625d3d1b --- /dev/null +++ b/docs/xslt/db2latex-xsl/xsl/authorgroup.mod.xsl @@ -0,0 +1,218 @@ +<?xml version='1.0'?> +<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]> +<!--############################################################################# +| $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $ +|- ############################################################################# +| $Author: j-devenish $ ++ ############################################################################## --> + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version='1.0'> + + <doc:reference id="authorgroup" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: authorgroup.mod.xsl,v 1.10 2003/12/30 13:38:54 j-devenish Exp $ + </releaseinfo> + <authorgroup> + &ramon; + &james; + </authorgroup> + <copyright> + <year>2000</year><year>2001</year><year>2002</year><year>2003</year> + <holder>Ramon Casellas</holder> + </copyright> + <revhistory> + <doc:revision rcasver="1.6">&rev_2003_05;</doc:revision> + </revhistory> + </referenceinfo> + <title>Authorgroups <filename>authorgroup.mod.xsl</filename></title> + <partintro> + <para>The file <filename>authorgroup.mod.xsl</filename> contains the + XSL templates for <doc:db>author</doc:db>, <doc:db>editor</doc:db>, + <doc:db>othercredit</doc:db><doc:db>personname</doc:db>, <doc:db>authorblurb</doc:db>, + <doc:db>authorgroup</doc:db> and <doc:db>authorinitials</doc:db>.</para> + <section> + <title>Pertinent Variables</title> + <itemizedlist> + <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem> + </itemizedlist> + </section> + </partintro> + </doc:reference> + + <doc:template basename="authorgroup" xmlns=""> + <refpurpose>Process <doc:db>authorgroup</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a list of authors for typsetting as a formatted block + (not inline). + </para> + <para> + Applies templates for <doc:db>author</doc:db> elements, + inserting <quote>and</quote> between authors' names. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:params> + <variablelist> + <varlistentry> + <term>person.list</term> + <listitem> + <para> + + The nodes to be formatted. By default, the template + will select child::author, child::corpauthor, + child::othercredit and child::editor for the + current node. + + </para> + </listitem> + </varlistentry> + </variablelist> + </doc:params> + <doc:notes> + <para> + + May be called from any template when the current node has + <doc:db>author</doc:db>, <doc:db>editor</doc:db>, + <doc:db>corpauthor</doc:db> or <doc:db>othercredit</doc:db> children. + + </para> + <para> + + This template uses <function + condition='xslt'>person.name.list</function> from + <filename>db2latex/xsl/common/common.xsl</filename> to format + the list of authors. + + </para> + + <para> + + For compatibility with &latex;, <xref + linkend="template.normalize-scape"/> is called on the output of + <function condition='xslt'>person.name.list</function>. + <doc:todo>This may pose problems but has not been + investigated.</doc:todo> + + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_article; + &test_biblio; + &test_bind; + &test_book; + &test_ieeebiblio; + &test_minimal; + </simplelist> + </doc:samples> + </doc:template> + + <xsl:template match="authorgroup" name="authorgroup"> + <xsl:param name="person.list" select="./author|./corpauthor|./othercredit|./editor"/> + <xsl:call-template name="normalize-scape"> + <xsl:with-param name="string"> + <xsl:call-template name="person.name.list"> + <xsl:with-param name="person.list" select="$person.list"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process names of <doc:db>authors</doc:db> and similar elements</refpurpose> + <doc:description> + <para> + + Formats a person's name for inline display. + + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + + <para> + + This template uses <function + condition='xslt'>person.name</function> from + <filename>db2latex/xsl/common/common.xsl</filename> to format the + names of <doc:db>author</doc:db>, <doc:db>editor</doc:db>, + <doc:db>othercredit</doc:db> and <doc:db>personname</doc:db> + elements. + + </para> + + <para> + + For compatibility with &latex;, <xref + linkend="template.normalize-scape"/> is called on the output of + <function condition='xslt'>person.name.list</function>. + <doc:todo>This may pose problems but has not been + investigated.</doc:todo> + + </para> + + </doc:notes> + <doc:samples> + <simplelist type='inline'> + <member>See <xref linkend="template.authorgroup"/>.</member> + </simplelist> + </doc:samples> + </doc:template> + + <xsl:template match="author|editor|othercredit|personname"> + <xsl:call-template name="normalize-scape"> + <xsl:with-param name="string"> + <xsl:call-template name="person.name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <doc:template basename="authorinitials" xmlns=""> + <refpurpose>Process <doc:db>authorinitials</doc:db> elements</refpurpose> + <doc:description> + <para> + + Represents <doc:db>authorinitials</doc:db> by applying templates + normally and then appending <xref + linkend="param.biblioentry.item.separator"/>. + + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.biblioentry.item.separator"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:notes> + <para> + + <doc:todo>The use of <xref linkend="param.biblioentry.item.separator"/> + should be replaced with the normal localisation mechanism.</doc:todo> + + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_article; + &test_ieeebiblio; + &test_minimal; + </simplelist> + </doc:samples> + </doc:template> + + <xsl:template match="authorinitials"> + <xsl:apply-templates/> + <xsl:value-of select="$biblioentry.item.separator"/> + </xsl:template> + +</xsl:stylesheet> |