summaryrefslogtreecommitdiff
path: root/docs/docbook/xslt/db2latex/index.mod.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/xslt/db2latex/index.mod.xsl')
-rw-r--r--docs/docbook/xslt/db2latex/index.mod.xsl196
1 files changed, 54 insertions, 142 deletions
diff --git a/docs/docbook/xslt/db2latex/index.mod.xsl b/docs/docbook/xslt/db2latex/index.mod.xsl
index 0ca975bd50..5a33c49f44 100644
--- a/docs/docbook/xslt/db2latex/index.mod.xsl
+++ b/docs/docbook/xslt/db2latex/index.mod.xsl
@@ -1,6 +1,8 @@
<?xml version='1.0'?>
<!--#############################################################################
+| $Id: index.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $
|- #############################################################################
+| $Author: jelmer $
|
| PURPOSE:
+ ############################################################################## -->
@@ -16,6 +18,7 @@
<doc:reference id="index" xmlns="">
<referenceinfo>
<releaseinfo role="meta">
+ $Id: index.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $
</releaseinfo>
<authorgroup>
<author> <firstname>Ramon</firstname> <surname>Casellas</surname> </author>
@@ -36,46 +39,33 @@
</doc:reference>
-<!-- This parameter is for enabeling or disabling of indexterms -->
-<xsl:param name="latex.generate.indexterm">1</xsl:param>
-<!-- Our key for ranges -->
-<xsl:key name="indexterm-range" match="indexterm[@class='startofrange']" use="@id"/>
-
-
-
-<!-- ############################################################### -->
-<!-- Index -->
-<!-- -->
-<!-- ############################################################### -->
-<xsl:template match="index|setindex">
+ <xsl:template match="index|setindex">
<xsl:call-template name="label.id"/>
<xsl:text>\printindex&#10;</xsl:text>
-</xsl:template>
+ </xsl:template>
-<xsl:template match="index/title"></xsl:template>
-<xsl:template match="index/subtitle"></xsl:template>
-<xsl:template match="index/titleabbrev"></xsl:template>
+ <xsl:template match="index/title"></xsl:template>
+ <xsl:template match="index/subtitle"></xsl:template>
+ <xsl:template match="index/titleabbrev"></xsl:template>
-<xsl:template match="index/title" mode="component.title.mode">
+ <xsl:template match="index/title" mode="component.title.mode">
<xsl:call-template name="label.id"> <xsl:with-param name="object" select=".."/> </xsl:call-template>
-</xsl:template>
+ </xsl:template>
+
+ <xsl:template match="index/subtitle" mode="component.title.mode"/>
+
-<xsl:template match="index/subtitle" mode="component.title.mode"/>
-<!-- ############################################################### -->
-<!-- IndexDiv -->
-<!-- -->
-<!-- ############################################################### -->
-<xsl:template match="indexdiv">
+ <xsl:template match="indexdiv">
<xsl:apply-templates/>
-</xsl:template>
+ </xsl:template>
-<xsl:template match="indexdiv/title">
+ <xsl:template match="indexdiv/title">
<xsl:call-template name="label.id"> <xsl:with-param name="object" select=".."/> </xsl:call-template>
-</xsl:template>
+ </xsl:template>
<!-- INDEX TERM CONTENT MODEL
@@ -87,127 +77,49 @@ IndexTerm ::=
See|SeeAlso+)?)|
See|SeeAlso+)?)
-->
-<!-- ############################################################### -->
-<!-- IndexDiv -->
-<!-- -->
-<!-- ############################################################### -->
<xsl:template match="indexterm">
-<xsl:if test="$latex.generate.indexterm != 0">
-<!--
- <xsl:text>\index{</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="normalize-space(./primary)"/>
- </xsl:call-template>
- <xsl:if test="./secondary">
- <xsl:text>!</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="normalize-space(./secondary)"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="./tertiary">
- <xsl:text>!</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="normalize-space(./tertiary)"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="./see">
- <xsl:text>|see{</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="normalize-space(./see)"/>
- </xsl:call-template>
- <xsl:text>}</xsl:text>
- </xsl:if>
- <xsl:if test="./seealso">
- <xsl:text>|see{</xsl:text>
- <xsl:call-template name="normalize-scape">
- <xsl:with-param name="string" select="normalize-space(./seealso)"/>
- </xsl:call-template>
- <xsl:text>}</xsl:text>
- </xsl:if>
- <xsl:text>}</xsl:text>
--->
- <xsl:variable name="idxterm">
- <xsl:apply-templates mode="indexterm"/>
- </xsl:variable>
-
- <xsl:if test="@class and @zone">
- <xsl:message terminate="yes">Error: Only one attribut (@class or @zone) is in indexterm possible!</xsl:message>
- </xsl:if>
-
- <xsl:choose>
- <xsl:when test="@class='startofrange'">
- <xsl:text>\index{</xsl:text>
- <xsl:value-of select="normalize-space($idxterm)"/>
- <xsl:text>|(}</xsl:text>
- </xsl:when>
- <xsl:when test="@class='endofrange'">
- <xsl:choose>
- <xsl:when test="count(key('indexterm-range',@startref)) = 0">
- <xsl:message terminate="yes"><xsl:text>Error: No indexterm with </xsl:text>
- <xsl:text>id='</xsl:text><xsl:value-of select="@startref"/>
- <xsl:text>' found!</xsl:text>
- <xsl:text> Check your attributs id/startref in your indexterms!</xsl:text>
- </xsl:message>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="thekey" select="key('indexterm-range',@startref)"/>
- <xsl:text>\index{</xsl:text>
- <xsl:apply-templates select="$thekey/*" mode="indexterm"/>
- <xsl:text>|)}</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\index{</xsl:text>
- <xsl:message terminate="no"><xsl:text>Simple case:</xsl:text></xsl:message>
- <xsl:value-of select="normalize-space($idxterm)"/>
- <xsl:text>}</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
+<xsl:text>\index{</xsl:text>
+<!-- output primary -->
+<xsl:call-template name="normalize-scape">
+ <xsl:with-param name="string" select="normalize-space(./primary)"/>
+</xsl:call-template>
+<!-- output secondary if it exists -->
+<xsl:if test="./secondary">
+ <xsl:text>!</xsl:text>
+ <xsl:call-template name="normalize-scape">
+ <xsl:with-param name="string" select="normalize-space(./secondary)"/>
+ </xsl:call-template>
</xsl:if>
+<!-- output tertiary if it exists -->
+<xsl:if test="./tertiary">
+ <xsl:text>!</xsl:text>
+ <xsl:call-template name="normalize-scape">
+ <xsl:with-param name="string" select="normalize-space(./tertiary)"/>
+ </xsl:call-template>
+</xsl:if>
+<!-- idem with see/seealso -->
+<xsl:if test="./see">
+ <xsl:text>|see{</xsl:text>
+ <xsl:call-template name="normalize-scape">
+ <xsl:with-param name="string" select="normalize-space(./see)"/>
+ </xsl:call-template>
+ <xsl:text>}</xsl:text>
+</xsl:if>
+<xsl:if test="./seealso">
+ <xsl:text>|see{</xsl:text>
+ <xsl:call-template name="normalize-scape">
+ <xsl:with-param name="string" select="normalize-space(./seealso)"/>
+ </xsl:call-template>
+ <xsl:text>}</xsl:text>
+</xsl:if>
+<xsl:text>}</xsl:text>
</xsl:template>
-<!-- ================================================ -->
-<xsl:template match="*" mode="indexterm">
- <xsl:message>WARNING: Element '<xsl:value-of select="local-name()"/>' in indexterm not supported!</xsl:message>
-</xsl:template>
-
-
-
-<!-- ================================================ -->
-<xsl:template match="primary" mode="indexterm">
-<xsl:apply-templates mode="indexterm"/>
-</xsl:template>
-
-<xsl:template match="secondary" mode="indexterm">
-<xsl:text>!</xsl:text>
-<xsl:apply-templates mode="indexterm"/>
-</xsl:template>
-
-<xsl:template match="tertiary" mode="indexterm">
-<xsl:text>!</xsl:text>
-<xsl:apply-templates mode="indexterm"/>
-</xsl:template>
-
-<xsl:template match="see|seealso" mode="indexterm">
-<xsl:text>|see{</xsl:text>
-<xsl:apply-templates mode="indexterm"/>
-<xsl:text>} </xsl:text>
-</xsl:template>
-
-
-<!-- ================================================ -->
-<!-- A simple example of what can be in an primary, -->
-<!-- secondary or tertiary. -->
-<!-- ================================================ -->
-<xsl:template match="acronym" mode="indexterm">
-<xsl:apply-templates mode="indexterm"/>
-</xsl:template>
-<xsl:template match="primary|secondary|tertiary|see|seealso"/>
-<xsl:template match="indexentry"/>
-<xsl:template match="primaryie|secondaryie|tertiaryie|seeie|seealsoie"/>
+ <xsl:template match="primary|secondary|tertiary|see|seealso"/>
+ <xsl:template match="indexentry"/>
+ <xsl:template match="primaryie|secondaryie|tertiaryie|seeie|seealsoie"/>
</xsl:stylesheet>