diff options
Diffstat (limited to 'docs/docbook/xslt/db2latex/index.mod.xsl')
-rw-r--r-- | docs/docbook/xslt/db2latex/index.mod.xsl | 196 |
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 </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> |