diff options
Diffstat (limited to 'docs/xslt/db2latex-xsl/xsl/refentry.mod.xsl')
-rw-r--r-- | docs/xslt/db2latex-xsl/xsl/refentry.mod.xsl | 343 |
1 files changed, 343 insertions, 0 deletions
diff --git a/docs/xslt/db2latex-xsl/xsl/refentry.mod.xsl b/docs/xslt/db2latex-xsl/xsl/refentry.mod.xsl new file mode 100644 index 0000000000..98c6868564 --- /dev/null +++ b/docs/xslt/db2latex-xsl/xsl/refentry.mod.xsl @@ -0,0 +1,343 @@ +<?xml version='1.0'?> +<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]> +<!--############################################################################# +| $Id: refentry.mod.xsl,v 1.7 2004/01/14 14:54:32 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="refentry" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: refentry.mod.xsl,v 1.7 2004/01/14 14:54:32 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.5">&rev_2003_05;</doc:revision> + </revhistory> + </referenceinfo> + <title>References and Entries <filename>refentry.mod.xsl</filename></title> + <partintro> + <para>The file <filename>refentry.mod.xsl</filename> contains + XSL templates for <doc:db basename="reference">references</doc:db>.</para> + </partintro> + </doc:reference> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>reference</doc:db> elements</refpurpose> + <doc:description> + <para> + Invokes the mapping templates and applies content templates. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:seealso> + <itemizedlist> + <listitem><simpara>&mapping;</simpara></listitem> + <listitem><simpara><xref linkend="template.content-templates"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="reference"> + <xsl:call-template name="map.begin"/> + <xsl:call-template name="content-templates"/> + <xsl:call-template name="map.end"/> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refentry</doc:db> elements</refpurpose> + <doc:description> + <para> + Invokes the mapping templates and applies content templates. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:seealso> + <itemizedlist> + <listitem><simpara>&mapping;</simpara></listitem> + <listitem><simpara><xref linkend="template.content-templates"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="refentry"> + <xsl:variable name="refmeta" select=".//refmeta"/> + <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/> + <xsl:variable name="refnamediv" select=".//refnamediv"/> + <xsl:variable name="refname" select="$refnamediv//refname"/> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="$refentrytitle"> + <xsl:apply-templates select="$refentrytitle[1]"/> + </xsl:when> + <xsl:when test="$refname"> + <xsl:apply-templates select="$refname[1]"/> + <xsl:apply-templates select="$refnamediv//refpurpose"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + <xsl:call-template name="map.begin"> + <xsl:with-param name="string" select="$title"/> + </xsl:call-template> + <xsl:call-template name="content-templates"/> + <xsl:call-template name="map.end"> + <xsl:with-param name="string" select="$title"/> + </xsl:call-template> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refentry</doc:db> elements</refpurpose> + <doc:description> + <para> + Suppresses <doc:db basename="refentry">refentries</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + </doc:template> + <xsl:template match="refmeta"/> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refentrytitle</doc:db> elements</refpurpose> + <doc:description> + <para> + Format a reference entry title. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para> + This template uses <literal>inline.charseq</literal>, + though I'm not sure if this should be changed to + a single <literal>apply-templates</literal>. + </para> + </doc:notes> + <doc:seealso> + <itemizedlist> + <listitem><simpara><xref linkend="template.inline.charseq"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="refentrytitle"> + <xsl:call-template name="inline.charseq"/> + </xsl:template> + + <!-- + <xsl:template match="refnamediv"> + <xsl:call-template name="block.object"/> + </xsl:template> + --> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>manvolnum</doc:db> elements</refpurpose> + <doc:description> + <para> + Format a reference volume number. + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.refentry.xref.manvolnum"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:notes> + <para> + If <xref linkend="param.refentry.xref.manvolnum"/> is set, + this template will apply templates. Otherwise, no output + is produced. + </para> + </doc:notes> + </doc:template> + <xsl:template match="manvolnum"> + <xsl:if test="$refentry.xref.manvolnum != 0"> + <xsl:text>(</xsl:text> + <xsl:apply-templates/> + <xsl:text>)</xsl:text> + </xsl:if> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refnamediv</doc:db> elements</refpurpose> + <doc:description> + <para> + Format a reference header. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:description> + <para> + Calls <xref linkend="template.block.object"/>. + </para> + </doc:description> + <doc:seealso> + <itemizedlist> + <listitem><simpara><xref linkend="template.block.object"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="refnamediv"> + <xsl:call-template name="block.object"/> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refname</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a <doc:db>refname</doc:db> as a start-of-section + for a <doc:db>refentry</doc:db>. + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.refentry.generate.name"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:notes> + <para>Will commence a &LaTeX; <function + condition="latex">section</function> if necessary.</para> + <para>Designed to accommodate multiple <doc:db>refname</doc:db>s in + a single <doc:db>refentry</doc:db>.</para> + <para>The use of a comma between multiple <doc:db>refname</doc:db>s + should probably be localised.</para> + </doc:notes> + <doc:seealso> + <itemizedlist> + <listitem><simpara>&mapping;</simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="refname"> + <xsl:if test="not (preceding-sibling::refname)"> + <xsl:text> \section*{</xsl:text> + <xsl:if test="$refentry.generate.name != 0"> + <xsl:call-template name="gentext.element.name"/> + </xsl:if> + <xsl:text>} </xsl:text> + </xsl:if> + <xsl:apply-templates/> + <xsl:if test="following-sibling::refname"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refpurpose</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a <doc:db>refpurpose</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para>Outputs an em dash and then applies templates.</para> + </doc:notes> + </doc:template> + <xsl:template match="refpurpose"> + <xsl:text> --- </xsl:text> + <xsl:apply-templates/> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refdescriptor</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a <doc:db>refdescriptor</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para>Suppressed.</para> + </doc:notes> + </doc:template> + <xsl:template match="refdescriptor"> + <!-- todo: finish this --> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refclass</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a <doc:db>refclass</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para>Applies templates. If the role attribute is not empty, + it will be output prior to content, separated by a colon.</para> + </doc:notes> + </doc:template> + <xsl:template match="refclass"> + <xsl:if test="@role!=''"> + <xsl:value-of select="@role"/> + <xsl:text>: </xsl:text> + </xsl:if> + <xsl:apply-templates/> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>refsynopsisdiv</doc:db> elements</refpurpose> + <doc:description> + <para> + Formats a <doc:db>refsynopsisdiv</doc:db> as an unnumbered subsection. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + </doc:template> + <xsl:template match="refsynopsisdiv"> + <xsl:call-template name="label.id"/> + <xsl:text> \subsection*{Synopsis} </xsl:text> + <xsl:call-template name="content-templates"/> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <sgmltag>refsect</sgmltag> elements</refpurpose> + <doc:description> + <para> + Invokes the mapping templates and applies content templates. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:seealso> + <itemizedlist> + <listitem><simpara>&mapping;</simpara></listitem> + <listitem><simpara><xref linkend="template.content-templates"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="refsect1|refsect2|refsect3"> + <xsl:call-template name="map.begin"/> + <xsl:call-template name="content-templates"/> + <xsl:call-template name="map.end"/> + </xsl:template> + +</xsl:stylesheet> |