diff options
Diffstat (limited to 'docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl')
-rw-r--r-- | docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl | 421 |
1 files changed, 421 insertions, 0 deletions
diff --git a/docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl b/docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl new file mode 100644 index 0000000000..f7c780bd6d --- /dev/null +++ b/docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl @@ -0,0 +1,421 @@ +<?xml version='1.0'?> +<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]> +<!--############################################################################# +| $Id: procedure.mod.xsl,v 1.12 2004/01/13 04:35:43 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="procedure" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: procedure.mod.xsl,v 1.12 2004/01/13 04:35:43 j-devenish Exp $ + </releaseinfo> + <authorgroup> + &ramon; + &james; + </authorgroup> + <copyright> + <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year> + <holder>Ramon Casellas</holder> + </copyright> + <revhistory> + <doc:revision rcasver="1.10">&rev_2003_05;</doc:revision> + </revhistory> + </referenceinfo> + <title>Procedures <filename>procedure.mod.xsl</filename></title> + <partintro> + <para> + + + + </para> + </partintro> + </doc:reference> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>procedure</doc:db> elements</refpurpose> + <doc:description> + <para> + + Format a titled, enumerated list of steps. + + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.formal.title.placement"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:params> + <variablelist> + <varlistentry> + <term>mode</term> + <listitem><simpara> + Although the <sgmltag class="attribute">mode</sgmltag> + parameter is normally empty, this template recognises a + special value of <quote>custom</quote>. This influences + the type of environment and the method of labelling + <doc:db basename="step">steps</doc:db>. + </simpara></listitem> + </varlistentry> + <varlistentry> + <term>environment</term> + <listitem><simpara> + This determines the &LaTeX; environment that will be + used for each <doc:db>step</doc:db>'s <function + condition="latex">item</function>. When the + <literal>mode</literal> is <quote>custom</quote>, this + parameter defaults to <quote>description</quote>. + Otherwise, the default is <quote>enumerate</quote>. + </simpara></listitem> + </varlistentry> + </variablelist> + </doc:params> + <doc:notes> + <para> + + By default, the &LaTeX; <function + condition="env">enumerate</function> environment is used and any + <doc:db>step</doc:db>'s <doc:db>title</doc:db> will be typeset + after its automatic step number. However, when the + <literal>mode</literal> variable is equal to <quote>custom</quote>, + the <function condition="env">description</function> environment + will be used and step titles will be typeset + <emphasis>instead</emphasis> of step numbers. + + </para> + <para> + + Although the procedure is a formal, titled block, is is not typeset + using <function condition="latex">subsection</function>. + + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_chemistry; + &test_procedure; + </simplelist> + </doc:samples> + <doc:seealso> + <itemizedlist> + <listitem><simpara><xref linkend="template.procedure/title"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="procedure" name="procedure"> + <xsl:param name="mode" select="''"/> + <xsl:param name="environment"> + <xsl:choose> + <xsl:when test="$mode='custom'"> + <xsl:text>description</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>enumerate</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <xsl:variable name="placement"> + <xsl:call-template name="generate.formal.title.placement"> + <xsl:with-param name="object" select="local-name(.)" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="preamble" select="node()[not(self::blockinfo or self::title or self::subtitle or self::titleabbrev or self::step)]"/> + <xsl:choose> + <xsl:when test="$placement='before' or $placement=''"> + <xsl:apply-templates select="title" mode="procedure.title"/> + <xsl:apply-templates select="$preamble"/> + <xsl:text>\begin{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + <xsl:apply-templates select="step"> + <xsl:with-param name="mode" select="$mode"/> + </xsl:apply-templates> + <xsl:text>\end{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$preamble"/> + <xsl:text>\begin{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + <xsl:apply-templates select="step"> + <xsl:with-param name="mode" select="$mode"/> + </xsl:apply-templates> + <xsl:text>\end{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + <xsl:apply-templates select="title" mode="procedure.title"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process a <doc:db>procedure</doc:db>'s <doc:db>title</doc:db> </refpurpose> + <doc:description> + <para> + + Format a special bridgehead. + + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.latex.procedure.title.style"/></simpara></listitem> + <listitem><simpara><xref linkend="param.latex.apply.title.templates"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:notes> + <para> + + The title is typeset as a paragraph. + + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_procedure; + </simplelist> + </doc:samples> + </doc:template> + <xsl:template match="procedure/title"> + <xsl:text> {</xsl:text> + <xsl:value-of select="$latex.procedure.title.style"/> + <xsl:text>{</xsl:text> + <xsl:choose> + <xsl:when test="$latex.apply.title.templates=1"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="."/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>}} </xsl:text> + </xsl:template> + + <doc:template basename="step" xmlns=""> + <refpurpose>Process <doc:db>step</doc:db> elements </refpurpose> + <doc:description> + <para> + + Format steps and substeps as part of a procedure. + + </para> + </doc:description> + <doc:variables> + <itemizedlist> + <listitem><simpara><xref linkend="param.latex.step.title.style"/></simpara></listitem> + </itemizedlist> + </doc:variables> + <doc:params> + <variablelist> + <varlistentry> + <term>mode</term> + <listitem><simpara> + + The <quote>mode</quote> from the parent + <doc:db>procedure</doc:db>. This template + needs to know when the <quote>custom</quote> + mode is in use, because it needs to pass the + step's title as an optional argument to the + &LaTeX; <function condition="latex">item</function> + command (see <xref linkend="template.procedure"/>). + The mode is normally received from the enclosing + <doc:db>procedure</doc:db> or <doc:db>substeps</doc:db> + template. + + </simpara></listitem> + </varlistentry> + <varlistentry> + <term>title</term> + <listitem><simpara> + The string (typically empty). + See <xref linkend="template.generate.step.title"/> + </simpara></listitem> + </varlistentry> + </variablelist> + </doc:params> + <doc:notes> + <para> + + Each step is typeset using the &LaTeX; <function condition="latex">item</function> command. + + </para> + <para> + If there is no <doc:db>title</doc:db> element, the + step will be numbered automatically by &LaTeX;. + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_chemistry; + &test_procedure; + </simplelist> + </doc:samples> + <doc:seealso> + <itemizedlist> + <listitem><simpara><xref linkend="template.generate.step.title"/></simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template match="step" name="step"> + <xsl:param name="mode" select="''"/> + <xsl:param name="title"> + <xsl:call-template name="generate.step.title"> + <xsl:with-param name="mode" select="$mode"/> + </xsl:call-template> + </xsl:param> + <xsl:choose> + <xsl:when test="$title!='' and $mode='custom'"> + <xsl:text> \item[{</xsl:text> + <xsl:value-of select="$latex.step.title.style"/> <!-- by default \sc --> + <xsl:text>{</xsl:text> + <xsl:value-of select="$title"/> + <xsl:text>}}] {</xsl:text> + </xsl:when> + <xsl:when test="$title!=''"> + <xsl:text> \item{{</xsl:text> + <xsl:value-of select="$latex.step.title.style"/> <!-- by default \sc --> + <xsl:text>{</xsl:text> + <xsl:value-of select="$title"/> + <xsl:text>}} </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> \item{</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="node()[not(self::title)]"/> + <xsl:text>} </xsl:text> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Generate a <doc:db>step</doc:db>'s title </refpurpose> + <doc:description> + <para> + + By default, simply applies templates for <doc:db>title</doc:db> + elements. + + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:params> + <variablelist> + <varlistentry> + <term>mode</term> + <listitem><simpara> + + See <xref linkend="template.procedure"/>. When the mode + is <quote>custom</quote>, this template will use the + XSL <literal>number</literal> element to format a title + such as "1.", "2.", etc. Otherwise, any + <doc:db>title</doc:db> elements will be used. + + </simpara></listitem> + </varlistentry> + </variablelist> + </doc:params> + <doc:notes> + <para> + + If this template generates no content, the + <doc:db>step</doc:db> will either be numbered automatically by + &LaTeX; or left unlabelled (depending on the + <quote>mode</quote>). + + </para> + </doc:notes> + </doc:template> + <xsl:template name="generate.step.title"> + <xsl:param name="mode"/> + <xsl:choose> + <xsl:when test="title"> + <xsl:apply-templates select="title"/> + </xsl:when> + <xsl:when test="$mode='custom'"> + <xsl:number format="1."/> + </xsl:when> + <!-- otherwise, empty --> + </xsl:choose> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>substep</doc:db> elements </refpurpose> + <doc:description> + <para> + + Format substeps as part of a step. + + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:params> + <variablelist> + <varlistentry> + <term>mode</term> + <listitem><simpara> + See <xref linkend="template.procedure"/>. + </simpara></listitem> + </varlistentry> + <varlistentry> + <term>environment</term> + <listitem><simpara> + See <xref linkend="template.procedure"/>. + </simpara></listitem> + </varlistentry> + </variablelist> + </doc:params> + <doc:notes> + <para> + + Substeps are typeset by nesting a &LaTeX; + <function condition="env">enumerate</function> environment. + + </para> + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_procedure; + </simplelist> + </doc:samples> + </doc:template> + <xsl:template match="substeps"> + <xsl:param name="mode" select="''"/> + <xsl:param name="environment"> + <xsl:choose> + <xsl:when test="$mode='custom'"> + <xsl:text>description</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>enumerate</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <xsl:text>\begin{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + <xsl:apply-templates select="step"> + <xsl:with-param name="mode" select="$mode"/> + </xsl:apply-templates> + <xsl:text>\end{</xsl:text> + <xsl:value-of select="$environment"/> + <xsl:text>} </xsl:text> + </xsl:template> + +</xsl:stylesheet> + |