summaryrefslogtreecommitdiff
path: root/docs/docbook/xslt/db2latex/qandaset.mod.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/xslt/db2latex/qandaset.mod.xsl')
-rw-r--r--docs/docbook/xslt/db2latex/qandaset.mod.xsl409
1 files changed, 409 insertions, 0 deletions
diff --git a/docs/docbook/xslt/db2latex/qandaset.mod.xsl b/docs/docbook/xslt/db2latex/qandaset.mod.xsl
new file mode 100644
index 0000000000..c6363e4782
--- /dev/null
+++ b/docs/docbook/xslt/db2latex/qandaset.mod.xsl
@@ -0,0 +1,409 @@
+<?xml version="1.0"?>
+<!--#############################################################################
+| $Id: qandaset.mod.xsl,v 1.1 2003/04/30 21:39:49 ab Exp $
+|- #############################################################################
+| $Author: ab $
+|
+| PURPOSE:
+| Portions (c) Norman Walsh, official DocBook XSL stylesheets.
+| See docbook.sf.net
++ ############################################################################## -->
+
+<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">
+
+
+<!--############################################################################# -->
+<!-- DOCUMENTATION -->
+ <doc:reference xmlns="" id="qandaset">
+ <referenceinfo>
+ <releaseinfo role="meta"> $Id: qandaset.mod.xsl,v 1.1 2003/04/30 21:39:49 ab Exp $ </releaseinfo>
+ <authorgroup>
+ <author> <firstname>Ramon</firstname> <surname>Casellas</surname> </author>
+ <author> <firstname>James</firstname> <surname>Devenish</surname> </author>
+ </authorgroup>
+ <copyright>
+ <year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year>
+ <holder>Ramon Casellas</holder>
+ </copyright>
+ </referenceinfo>
+ <title>QandaSet <filename>qandaset.mod.xsl</filename></title>
+ <partintro>
+ <section>
+ <title>Introduction</title>
+ </section>
+ </partintro>
+ </doc:reference>
+
+
+
+
+<!--#############################################################################
+| qandaset
+|- #############################################################################
+|
++ ############################################################################# -->
+
+<xsl:template match="qandaset">
+ <!-- get all children that are not the following -->
+ <xsl:variable name="preamble" select="*[name(.) != 'title'
+ and name(.) != 'titleabbrev'
+ and name(.) != 'qandadiv'
+ and name(.) != 'qandaentry']"/>
+ <xsl:variable name="label-width"/>
+ <xsl:variable name="table-summary"/>
+ <xsl:variable name="cellpadding"/>
+ <xsl:variable name="cellspacing"/>
+ <xsl:variable name="toc"/>
+ <xsl:variable name="toc.params"/>
+ <xsl:variable name="qalevel">
+ <xsl:call-template name="qanda.section.level"/>
+ </xsl:variable>
+ <xsl:text>% -------------------------------------------------------------&#10;</xsl:text>
+ <xsl:text>% QandASet &#10;</xsl:text>
+ <xsl:text>% -------------------------------------------------------------&#10;</xsl:text>
+ <xsl:choose>
+ <xsl:when test="ancestor::sect2">
+ <xsl:text>\subsubsection*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::sect1">
+ <xsl:text>\subsection*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::article | ancestor::appendix">
+ <xsl:text>\section*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::book">
+ <xsl:text>\chapter*{</xsl:text>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>F.A.Q.</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>}&#10;</xsl:text>
+ <xsl:call-template name="label.id"/>
+ <xsl:text>&#10;</xsl:text>
+
+ <!-- process toc -->
+ <xsl:if test="contains($toc.params, 'toc') and $toc != '0'">
+ <xsl:call-template name="process.qanda.toc"/>
+ </xsl:if>
+ <!-- process preamble -->
+ <xsl:apply-templates select="$preamble"/>
+ <!-- process divs and entries -->
+ <xsl:apply-templates select="qandaentry|qandadiv"/>
+</xsl:template>
+
+
+<xsl:template match="qandaset/title">
+<xsl:apply-templates/>
+</xsl:template>
+
+
+
+
+<!--#############################################################################
+| qandadiv
+|- #############################################################################
+|
++ ############################################################################# -->
+
+
+<xsl:template match="qandadiv">
+ <!-- get the preamble -->
+ <xsl:variable name="preamble" select="*[name(.) != 'title'
+ and name(.) != 'titleabbrev'
+ and name(.) != 'qandadiv'
+ and name(.) != 'qandaentry']"/>
+ <xsl:variable name="qalevel">
+ <xsl:call-template name="qandadiv.section.level"/>
+ </xsl:variable>
+ <!-- process the title if it exists -->
+ <xsl:text>% -----------&#10;</xsl:text>
+ <xsl:text>% QandADiv &#10;</xsl:text>
+ <xsl:text>% -----------&#10;</xsl:text>
+ <xsl:text>\noindent\begin{minipage}{\linewidth}&#10;</xsl:text>
+ <xsl:text>\vspace{0.25em}\hrule\vspace{0.25em}&#10;</xsl:text>
+ <xsl:choose>
+ <xsl:when test="ancestor::sect2">
+ <xsl:text>\paragraph*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::sect1">
+ <xsl:text>\subsubsection*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::article | ancestor::appendix">
+ <xsl:text>\subsection*{</xsl:text>
+ </xsl:when>
+ <xsl:when test="ancestor::book">
+ <xsl:text>\section*{</xsl:text>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>F.A.Q. Part</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>}</xsl:text>
+ <xsl:call-template name="label.id"/>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:text>\hrule\vspace{0.25em}&#10;</xsl:text>
+ <xsl:text>\end{minipage}&#10;</xsl:text>
+
+<!--
+ <xsl:variable name="toc.params">
+ </xsl:variable>
+ <xsl:if test="contains($toc.params, 'toc')">
+ <xsl:call-template name="process.qanda.toc"/>
+ </xsl:if>
+ <xsl:if test="$preamble">
+ <xsl:apply-templates select="$preamble"/>
+ </xsl:if>
+-->
+<!--
+ <xsl:text>\begin{toc}&#10;</xsl:text>
+ <xsl:for-each select="qandaentry">
+ <xsl:text>\tocref{</xsl:text>
+ <xsl:value-of select="@id"/>
+ <xsl:text>}&#10;</xsl:text>
+ </xsl:for-each>
+ <xsl:text>\end{toc}&#10;</xsl:text>
+-->
+
+<!-- pseudo table of contents -->
+ <!--
+ <xsl:choose>
+ <xsl:when test="title">
+ <xsl:text>\caption{</xsl:text>
+ <xsl:apply-templates select="title"/>
+ <xsl:text>}&#10;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>\caption{</xsl:text>
+ <xsl:text>F.A.Q. Part</xsl:text>
+ <xsl:text>}&#10;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ -->
+ <xsl:for-each select="qandaentry">
+ <xsl:text>\noindent{}</xsl:text>
+ <xsl:value-of select="position()"/>
+ <xsl:text>.~</xsl:text>
+ <xsl:apply-templates select="question"/>
+ <xsl:if test="position()!=last()"><xsl:text>\newline&#10;</xsl:text></xsl:if>
+ </xsl:for-each>
+ <xsl:text>\vspace{0.25em}\hrule&#10;</xsl:text>
+
+ <xsl:for-each select="qandaentry">
+ <xsl:text>\vspace{1em}&#10;</xsl:text>
+ <xsl:text>\noindent{}</xsl:text>
+ <xsl:value-of select="position()"/>
+ <xsl:text>.~</xsl:text>
+ <xsl:apply-templates select="question"/>
+ <xsl:text>\newline&#10;</xsl:text>
+ <xsl:apply-templates select="answer"/>
+ </xsl:for-each>
+<!-- <xsl:apply-templates select="qandadiv|qandaentry"/> -->
+<!-- <xsl:apply-templates/> -->
+ <xsl:text>\vspace{1em}&#10;</xsl:text>
+</xsl:template>
+
+
+
+
+
+
+
+
+<!--#############################################################################
+| qandadiv/title
+|- #############################################################################
+|
++ ############################################################################# -->
+
+<xsl:template match="qandadiv/title">
+ <!-- <xsl:apply-templates select="parent::qandadiv" mode="label.markup"/> -->
+ <xsl:apply-templates/>
+</xsl:template>
+
+
+
+
+<!--#############################################################################
+| question
+|- #############################################################################
+|
++ ############################################################################# -->
+
+<xsl:template match="question">
+<!-- get the default label -->
+<xsl:variable name="deflabel">
+ <xsl:choose>
+ <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+ <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]/@defaultlabel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="latex.qanda.defaultlabel"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:variable>
+<!-- process the question itself
+<xsl:apply-templates select="." mode="label.markup"/>
+<xsl:choose>
+ <xsl:when test="$deflabel = 'none' and not(label)">
+ <xsl:apply-templates select="*[name(.) != 'label']"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="*[name(.) != 'label']"/>
+ </xsl:otherwise>
+</xsl:choose>
+-->
+<xsl:text>\textbf{Q:}~\textit{</xsl:text>
+<xsl:apply-templates/>
+<xsl:text>}&#10;</xsl:text>
+</xsl:template>
+
+
+
+
+
+
+
+
+<!--#############################################################################
+| answer
+|- #############################################################################
+|
++ ############################################################################# -->
+
+<xsl:template match="answer">
+<xsl:text>\noindent\textbf{A:}~</xsl:text>
+<xsl:apply-templates/>
+<xsl:text>&#10;&#10;</xsl:text>
+</xsl:template>
+
+
+
+
+
+
+
+<!--#############################################################################
+| label
+|- #############################################################################
+|
++ ############################################################################# -->
+
+<xsl:template match="label">
+ <xsl:apply-templates/>
+</xsl:template>
+
+
+<xsl:template name="process.qanda.toc">
+ <xsl:apply-templates select="qandadiv" mode="qandatoc.mode"/>
+ <xsl:apply-templates select="qandaentry" mode="qandatoc.mode"/>
+</xsl:template>
+
+<xsl:template match="qandadiv" mode="qandatoc.mode">
+ <xsl:apply-templates select="title" mode="qandatoc.mode"/>
+ <xsl:call-template name="process.qanda.toc"/>
+</xsl:template>
+
+
+
+
+
+
+<xsl:template match="qandadiv/title" mode="qandatoc.mode">
+<xsl:variable name="qalevel">
+ <xsl:call-template name="qandadiv.section.level"/>
+</xsl:variable>
+<xsl:call-template name="label.id">
+ <xsl:with-param name="object" select="parent::*"/>
+</xsl:call-template>
+<xsl:apply-templates select="parent::qandadiv" mode="label.markup"/>
+<xsl:value-of select="$autotoc.label.separator"/>
+<xsl:apply-templates/>
+</xsl:template>
+
+
+
+<xsl:template match="qandaentry" mode="qandatoc.mode">
+ <xsl:apply-templates mode="qandatoc.mode"/>
+</xsl:template>
+
+
+
+<xsl:template match="question" mode="qandatoc.mode">
+ <xsl:variable name="firstch" select="(*[name(.)!='label'])[1]"/>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:text> </xsl:text>
+</xsl:template>
+
+
+<xsl:template match="answer|revhistory" mode="qandatoc.mode">
+ <!-- nop -->
+</xsl:template>
+
+
+
+
+<xsl:template name="question.answer.label">
+ <!-- variable: deflabel -->
+ <xsl:variable name="deflabel">
+ <!-- chck whether someone has a defaultlabel attribute -->
+ <xsl:choose>
+ <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+ <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]/@defaultlabel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="latex.qanda.defaultlabel"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <xsl:variable name="label" select="@label"/>
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'qanda'">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'question'">question</xsl:when>
+ <xsl:when test="local-name(.) = 'answer'">answer</xsl:when>
+ <xsl:when test="local-name(.) = 'qandadiv'">qandadiv</xsl:when>
+ <xsl:otherwise>qandaset</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$deflabel = 'label'">
+ <xsl:value-of select="$label"/>
+ </xsl:when>
+ <xsl:when test="$deflabel = 'number' and local-name(.) = 'question'">
+ <xsl:apply-templates select="ancestor::qandaset[1]" mode="number"/>
+ <xsl:choose>
+ <xsl:when test="ancestor::qandadiv">
+ <xsl:apply-templates select="ancestor::qandadiv[1]" mode="number"/>
+ <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- nothing -->
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>