summaryrefslogtreecommitdiff
path: root/docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl')
-rw-r--r--docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl470
1 files changed, 0 insertions, 470 deletions
diff --git a/docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl b/docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl
deleted file mode 100644
index b58e1d1910..0000000000
--- a/docs-xml/xslt/db2latex-xsl/xsl/index.mod.xsl
+++ /dev/null
@@ -1,470 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
-<!--#############################################################################
-| $Id: index.mod.xsl,v 1.17 2004/01/27 05:59:51 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="index" xmlns="">
- <referenceinfo>
- <releaseinfo role="meta">
- $Id: index.mod.xsl,v 1.17 2004/01/27 05:59:51 j-devenish Exp $
- </releaseinfo>
- <authorgroup>
- &ramon;
- &james;
- </authorgroup>
- <copyright>
- <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
- <holder>Ramon Casellas</holder>
- </copyright>
- <revhistory>
- <doc:revision rcasver="1.11">&rev_2003_05;</doc:revision>
- </revhistory>
- </referenceinfo>
- <title>Indices <filename>index.mod.xsl</filename></title>
- <partintro>
- <para>The file <filename>index.mod.xsl</filename> contains the
- XSL template for <doc:db>index</doc:db>.</para>
- <!-- TODO: -->
- <para>Describe indexterm-range key.</para>
- <para>
-
- An <literal>indexterm-range</literal> XSLT key is defined for
- all <quote>startofrange</quote> <doc:db>indexterm</doc:db>
- elements, matching their <sgmltag
- class="attribute">id</sgmltag> attribute.
-
- </para>
- </partintro>
- </doc:reference>
-
- <!-- Our key for ranges -->
- <xsl:key name="indexterm-range" match="indexterm[@class='startofrange']" use="@id"/>
-
- <doc:template basename="index" xmlns="">
- <refpurpose>Process <doc:db>index</doc:db> and <doc:db>setindex</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Produce a chapter-level index in &LaTeX;.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
-
- <para>
-
- You will need to run your typesetter at least twice, and
- possibly three times, to have the index generated normally (you
- will also need to run the <command>makeidx</command> command).
-
- </para>
-
- &essential_preamble;
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_index;
- &test_draft;
- </simplelist>
- </doc:samples>
- </doc:template>
- <xsl:template match="index|setindex">
- <xsl:variable name="preamble" select="node()[not(self::indexinfo or self::setindexinfo or self::title or self::subtitle or self::titleabbrev or self::indexdiv or self::indexentry)]"/>
- <xsl:text>\setlength\saveparskip\parskip&#10;</xsl:text>
- <xsl:text>\setlength\saveparindent\parindent&#10;</xsl:text>
- <xsl:text>\begin{dbtolatexindex}{</xsl:text>
- <xsl:call-template name="generate.label.id"/>
- <xsl:text>}&#10;</xsl:text>
- <xsl:text>\setlength\tempparskip\parskip \setlength\tempparindent\parindent&#10;</xsl:text>
- <xsl:text>\parskip\saveparskip \parindent\saveparindent&#10;</xsl:text>
- <xsl:text>\noindent </xsl:text><!-- &#10; -->
- <xsl:apply-templates select="$preamble"/>
- <xsl:call-template name="map.begin"/>
- <xsl:text>\parskip\tempparskip&#10;</xsl:text>
- <xsl:text>\parindent\tempparindent&#10;</xsl:text>
- <xsl:text>\makeatletter\@input@{\jobname.ind}\makeatother&#10;</xsl:text>
- <xsl:call-template name="map.end"/>
- <xsl:text>\end{dbtolatexindex}&#10;</xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose> Essential preamble for <filename>index.mod.xsl</filename> support </refpurpose>
- <doc:description>
- <para>
-
- This preamble aids the following:
- <itemizedlist>
- <listitem>
- <simpara>
- Allow user to override the &LaTeX; default index name
- with a &DocBook; localisation.
- </simpara>
- <simpara>
- Integrate <doc:db>index</doc:db>/@<sgmltag
- class="attribute">id</sgmltag> cross-references
- with &LaTeX; and tables of contents (makes indices
- behave a bit like chapters).
- </simpara>
- <simpara>
- Allow <quote>preamble</quote> templates or
- mappings to be applied for indices.
- </simpara>
- </listitem>
- </itemizedlist>
-
- </para>
- </doc:description>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara>&preamble;</simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <xsl:template name="latex.preamble.essential.index">
- <xsl:text>
- <![CDATA[
-% index labeling helper
-\newif\ifdocbooktolatexprintindex\docbooktolatexprintindextrue
-\let\dbtolatex@@theindex\theindex
-\let\dbtolatex@@endtheindex\endtheindex
-\def\theindex{\relax}
-\def\endtheindex{\relax}
-\newenvironment{dbtolatexindex}[1]
- {
-\if@openright\cleardoublepage\else\clearpage\fi
-\let\dbtolatex@@indexname\indexname
-\def\dbtolatex@indexlabel{%
- \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}\fi%
- \label{#1}\hypertarget{#1}{\dbtolatex@@indexname}%
- \global\docbooktolatexprintindexfalse}
-\def\indexname{\ifdocbooktolatexprintindex\dbtolatex@indexlabel\else\dbtolatex@@indexname\fi}
-\dbtolatex@@theindex
- }
- {
-\dbtolatex@@endtheindex\let\indexname\dbtolatex@@indexname
- }
-
-\newlength\saveparskip \newlength\saveparindent
-\newlength\tempparskip \newlength\tempparindent
-]]>
- </xsl:text>
- </xsl:template>
-
-<!--
- <xsl:template match="index/title">
- <xsl:call-template name="label.id"> <xsl:with-param name="object" select=".."/> </xsl:call-template>
- </xsl:template>
-
-<xsl:template match="indexdiv">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="indexdiv/title">
- <xsl:call-template name="label.id"> <xsl:with-param name="object" select=".."/> </xsl:call-template>
-</xsl:template>
-
- <xsl:template match="primary|secondary|tertiary|see|seealso"/>
-
--->
-
- <doc:template xmlns="">
- <refpurpose>Process <doc:db>indexterm</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Identify an instance of an indexed term.
- </para>
- </doc:description>
- <doc:variables>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.generate.indexterm"/></simpara></listitem>
- </itemizedlist>
- </doc:variables>
- <doc:params>
- <variablelist>
- <varlistentry>
- <term>style</term>
- <listitem><simpara>
- &LaTeX; code used to format the displayed entry.
- By default, this is drawn from any <quote>latex-index-style</quote>
- processing instructions (and is therefore empty most of the time).
- </simpara></listitem>
- </varlistentry>
- </variablelist>
- </doc:params>
- <doc:notes>
- <para>
- A &LaTeX; <function condition="latex">index</function> command
- is issued. When an <doc:db>index</doc:db> element is included
- in your document and indexing is enabled, this indexterm will
- be indexed.
- </para>
- <para>
- When <link linkend="param.latex.is.draft">draft mode</link> is
- enabled, the physical location of <doc:db
- basename="indexterm">indexterms</doc:db> will be highlighted
- within the body of the text as well as appearing in the index
- proper.
- </para>
- <para>
- &DB2LaTeX; includes some logic to handle the
- <quote>startofrange</quote> and <quote>endofrange</quote>
- classes.
- </para>
- <para>
- It is possible to format an entry (e.g.
- make it bold or italic) by inserting a processing instruction
- named <quote>latex-index-style</quote> in the appropriate
- subterm.
- </para>
- </doc:notes>
- <doc:samples>
- <simplelist type='inline'>
- &test_book;
- &test_ddh;
- &test_draft1;
- &test_draft2;
- &test_index;
- </simplelist>
- </doc:samples>
- <doc:seealso>
- <itemizedlist>
- <listitem><simpara><xref linkend="param.latex.is.draft"/></simpara></listitem>
- </itemizedlist>
- </doc:seealso>
- </doc:template>
- <!-- INDEX TERM CONTENT MODEL
- IndexTerm ::=
- (Primary,
- ((Secondary,
- ((Tertiary,
- (See|SeeAlso+)?)|
- See|SeeAlso+)?)|
- See|SeeAlso+)?)
- -->
- <xsl:template match="indexterm">
- <xsl:if test="$latex.generate.indexterm='1'">
- <xsl:variable name="idxterm">
- <xsl:apply-templates mode="indexterm"/>
- </xsl:variable>
-
- <xsl:if test="@class and @zone">
- <xsl:message terminate="yes">Error: Only one attribute (@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="$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:for-each select="$thekey[1]">
- <xsl:text>\index{</xsl:text>
- <xsl:apply-templates mode="indexterm"/>
- <xsl:text>|)}</xsl:text>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>\index{</xsl:text>
- <xsl:value-of select="$idxterm"/>
- <xsl:text>}</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="*" mode="indexterm">
- <xsl:message>WARNING: Element '<xsl:value-of select="local-name()"/>' in indexterm not supported and skipped!</xsl:message>
- </xsl:template>
-
- <!--
- <xsl:template match="acronym|foreignphrase" mode="indexterm">
- <xsl:apply-templates mode="indexterm"/>
- </xsl:template>
- -->
-
- <doc:template xmlns="">
- <refpurpose>Process the contents of <doc:db basename="indexterm">indexterms</doc:db></refpurpose>
- <doc:description>
- <para>
- Register a primary index term.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Calls <xref linkend="template.index.subterm"/>.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="primary" mode="indexterm">
- <xsl:call-template name="index.subterm"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process the contents of <doc:db basename="indexterm">indexterms</doc:db></refpurpose>
- <doc:description>
- <para>
- Register a secondary or tertiary index term.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Calls <xref linkend="template.index.subterm"/>.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="secondary|tertiary" mode="indexterm">
- <xsl:text>!</xsl:text>
- <xsl:call-template name="index.subterm"/>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process the contents of <doc:db basename="indexterm">indexterms</doc:db></refpurpose>
- <doc:description>
- <para>
- Register a primary, secondary or tertiary index term.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
-
- If no <sgmltag class="attribute">sortas</sgmltag> attribute is
- present, the contents of <doc:db>primary</doc:db>,
- <doc:db>secondary</doc:db> and <doc:db>tertiary</doc:db>
- elements are converted to text-only and no templates are
- applied. If the <sgmltag class="attribute">sortas</sgmltag>
- attribute is present and non-empty, its value is used for indexing
- and sorting (but not for display)<!-- and templates
- <emphasis>are</emphasis> applied for display purposes-->.
-
- </para>
- <para>
-
- If a <quote>latex-index-style</quote> processing instruction is
- present, the displayed indexterm will be formatted by treating
- the content of the PI as a &LaTeX; command.
-
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template name="index.subterm">
- <xsl:variable name="style" select="processing-instruction('latex-index-style')"/>
- <xsl:choose>
- <xsl:when test="@sortas!=''">
- <xsl:variable name="string">
- <xsl:call-template name="scape-indexterm">
- <xsl:with-param name="string" select="@sortas"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="content">
- <xsl:call-template name="scape-indexterm">
- <xsl:with-param name="string" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="normalize-space($string)"/>
- <xsl:text>@{</xsl:text>
- <xsl:value-of select="$style"/>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="normalize-space($content)"/>
- <xsl:text>}}</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="string">
- <xsl:call-template name="scape-indexterm">
- <xsl:with-param name="string" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="normalize-space($string)"/>
- <xsl:if test="$style!=''">
- <xsl:text>@{</xsl:text>
- <xsl:value-of select="$style"/>
- <xsl:text>{</xsl:text>
- <xsl:value-of select="normalize-space($string)"/>
- <xsl:text>}}</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- <!--
- <xsl:apply-templates mode="indexterm"/>
- -->
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose>Process the contents of <doc:db>see</doc:db> and <doc:db>seealso</doc:db> elements</refpurpose>
- <doc:description>
- <para>
- Annotate an index entry with a <quote>See</quote> or <quote>See also</quote> cross-reference.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- Templates are applied.
- <quote>See</quote> or <quote>see also</quote> text
- is generated by <literal>gentext.element.name</literal>
- and formatted in italics.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="see|seealso" mode="indexterm">
- <xsl:text>|textit{</xsl:text>
- <xsl:call-template name="gentext.element.name"/>
- <xsl:text>} {</xsl:text>
- <xsl:apply-templates/>
- <!--
- <xsl:apply-templates mode="indexterm"/>
- -->
- <xsl:text>} </xsl:text>
- </xsl:template>
-
- <doc:template xmlns="">
- <refpurpose> Skip <doc:db>indexentry</doc:db>-related elements </refpurpose>
- <doc:description>
- <para>
- Ignores the elements.
- </para>
- </doc:description>
- <doc:variables>
- &no_var;
- </doc:variables>
- <doc:notes>
- <para>
- &DB2LaTeX; only supports indices that are generated by &LaTeX; itself.
- </para>
- </doc:notes>
- </doc:template>
- <xsl:template match="indexentry|primaryie|secondaryie|tertiaryie|seeie|seealsoie"/>
-
-</xsl:stylesheet>