Blame xsl/index.xsl

Packit 0f19cf
Packit 0f19cf
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
    XSLT Stylesheet DocBook -> LaTeX 
Packit 0f19cf
    ############################################################################ -->
Packit 0f19cf
<xsl:param name="index.tocdepth">5</xsl:param>
Packit 0f19cf
<xsl:param name="index.numbered">1</xsl:param>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template name="index.print">
Packit 0f19cf
  <xsl:param name="node" select="."/>
Packit 0f19cf
  
Packit 0f19cf
  <xsl:if test="$node/@sortas">
Packit 0f19cf
    <xsl:call-template name="scape.index">
Packit 0f19cf
      <xsl:with-param name="string" select="$node/@sortas"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
    <xsl:text>@{</xsl:text>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
  
Packit 0f19cf
  <xsl:call-template name="scape.index">
Packit 0f19cf
    <xsl:with-param name="string" select="$node"/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
  <xsl:if test="$node/@sortas">
Packit 0f19cf
    <xsl:text>}</xsl:text>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexterm" name="indexterm">
Packit 0f19cf
  <xsl:param name="close" select="''"/>
Packit 0f19cf
  <xsl:param name="seealso" select="0"/>
Packit 0f19cf
  <xsl:text>\index{</xsl:text>
Packit 0f19cf
  <xsl:call-template name="index.print">
Packit 0f19cf
    <xsl:with-param name="node" select="./primary"/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
  <xsl:if test="./secondary">
Packit 0f19cf
    <xsl:text>!</xsl:text>
Packit 0f19cf
    <xsl:call-template name="index.print">
Packit 0f19cf
      <xsl:with-param name="node" select="./secondary"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
  <xsl:if test="./tertiary">
Packit 0f19cf
    <xsl:text>!</xsl:text>
Packit 0f19cf
    <xsl:call-template name="index.print">
Packit 0f19cf
      <xsl:with-param name="node" select="./tertiary"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
  <xsl:if test="./see">
Packit 0f19cf
    <xsl:text>|see{</xsl:text>
Packit 0f19cf
    <xsl:call-template name="normalize-scape">
Packit 0f19cf
      <xsl:with-param name="string" select="./see"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
    <xsl:text>}</xsl:text>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
  <xsl:if test="$seealso = 1 and ./seealso">
Packit 0f19cf
    <xsl:text>|seealso{</xsl:text>
Packit 0f19cf
    <xsl:call-template name="normalize-scape">
Packit 0f19cf
      <xsl:with-param name="string" select="./seealso"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
    <xsl:text>}</xsl:text>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
  
Packit 0f19cf
  <xsl:choose>
Packit 0f19cf
  <xsl:when test="$close!=''">
Packit 0f19cf
    <xsl:value-of select="$close"/>
Packit 0f19cf
  </xsl:when>
Packit 0f19cf
  <xsl:when test="@class='startofrange'">
Packit 0f19cf
    
Packit 0f19cf
    <xsl:variable name="id" select="(@id|@xml:id)[1]"/>
Packit 0f19cf
    <xsl:choose>
Packit 0f19cf
    <xsl:when test="//indexterm[@class='endofrange' and @startref=$id]">
Packit 0f19cf
      <xsl:text>|(</xsl:text>
Packit 0f19cf
    </xsl:when>
Packit 0f19cf
    <xsl:otherwise>
Packit 0f19cf
      <xsl:message>
Packit 0f19cf
      <xsl:text>Error: cannot find indexterm[@startref='</xsl:text>
Packit 0f19cf
      <xsl:value-of select="$id"/>
Packit 0f19cf
      <xsl:text>'] end of range</xsl:text>
Packit 0f19cf
      </xsl:message>
Packit 0f19cf
    </xsl:otherwise>
Packit 0f19cf
    </xsl:choose>
Packit 0f19cf
  </xsl:when>
Packit 0f19cf
  </xsl:choose>
Packit 0f19cf
  <xsl:text>}</xsl:text>
Packit 0f19cf
  
Packit 0f19cf
  
Packit 0f19cf
                                        self::simpara]">
Packit 0f19cf
    <xsl:text>
</xsl:text>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
     range -->
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexterm[@class='endofrange']">
Packit 0f19cf
  <xsl:variable name="id" select="@startref"/>
Packit 0f19cf
  
Packit 0f19cf
                                           (@id=$id or @xml:id=$id)]">
Packit 0f19cf
    <xsl:with-param name="close" select="'|)'"/>
Packit 0f19cf
  </xsl:apply-templates>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
     'see also' -->
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexterm[seealso]">
Packit 0f19cf
  <xsl:call-template name="indexterm"/>
Packit 0f19cf
  <xsl:call-template name="indexterm">
Packit 0f19cf
    <xsl:with-param name="seealso" select="1"/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="primary|secondary|tertiary|see|seealso"/>
Packit 0f19cf
<xsl:template match="indexentry"/>
Packit 0f19cf
<xsl:template match="primaryie|secondaryie|tertiaryie|seeie|seealsoie"/>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexterm" mode="latex.programlisting">
Packit 0f19cf
  <xsl:param name="co-tagin" select="'<'"/>
Packit 0f19cf
  <xsl:param name="rnode" select="/"/>
Packit 0f19cf
  <xsl:param name="probe" select="0"/>
Packit 0f19cf
Packit 0f19cf
  <xsl:call-template name="verbatim.embed">
Packit 0f19cf
    <xsl:with-param name="co-taging" select="$co-tagin"/>
Packit 0f19cf
    <xsl:with-param name="rnode" select="$rnode"/>
Packit 0f19cf
    <xsl:with-param name="probe" select="$probe"/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexterm" mode="toc.skip"/>
Packit 0f19cf
Packit 0f19cf
 
Packit 0f19cf
Packit 0f19cf
<xsl:template match="index|setindex">
Packit 0f19cf
Packit 0f19cf
  <xsl:call-template name="label.id"/>
Packit 0f19cf
  <xsl:text>\printindex
</xsl:text>
Packit 0f19cf
  -->
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template name="printindex">
Packit 0f19cf
  <xsl:if test="number($index.numbered) = 0">
Packit 0f19cf
    <xsl:text>\setcounter{secnumdepth}{-1}
</xsl:text>
Packit 0f19cf
    <xsl:call-template name="set-tocdepth">
Packit 0f19cf
      <xsl:with-param name="depth" select="number($index.tocdepth) - 1"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
Packit 0f19cf
  <xsl:text>\printindex
</xsl:text>
Packit 0f19cf
Packit 0f19cf
  <xsl:if test="number($index.numbered) = 0">
Packit 0f19cf
    <xsl:call-template name="section.unnumbered.end">
Packit 0f19cf
      <xsl:with-param name="tocdepth" select="number($index.tocdepth)"/>
Packit 0f19cf
    </xsl:call-template>
Packit 0f19cf
  </xsl:if>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template match="index/title"></xsl:template>
Packit 0f19cf
<xsl:template match="index/subtitle"></xsl:template>
Packit 0f19cf
<xsl:template match="index/titleabbrev"></xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexdiv">
Packit 0f19cf
  <xsl:apply-templates/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="indexdiv/title">
Packit 0f19cf
  <xsl:call-template name="label.id">
Packit 0f19cf
    <xsl:with-param name="object" select=".."/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="itermset">
Packit 0f19cf
  <xsl:apply-templates/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
<xsl:template match="index[@type='endnotes']">
Packit 0f19cf
  <xsl:apply-templates select="." mode="endnotes"/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
</xsl:stylesheet>