summaryrefslogtreecommitdiff
path: root/docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl')
-rw-r--r--docs/xslt/db2latex-xsl/xsl/procedure.mod.xsl421
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>}&#10;</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>}&#10;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="$preamble"/>
+ <xsl:text>\begin{</xsl:text>
+ <xsl:value-of select="$environment"/>
+ <xsl:text>}&#10;</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>}&#10;</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>&#10;&#10;{</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>}}&#10;</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>&#10;\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>}}]&#10;{</xsl:text>
+ </xsl:when>
+ <xsl:when test="$title!=''">
+ <xsl:text>&#10;\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>}}&#10;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>&#10;\item{</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates select="node()[not(self::title)]"/>
+ <xsl:text>}&#10;</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>}&#10;</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>}&#10;</xsl:text>
+ </xsl:template>
+
+</xsl:stylesheet>
+