Blame xsl/glossary.xsl

Packit Service 76cb02
Packit Service 76cb02
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
    XSLT Stylesheet DocBook -> LaTeX 
Packit Service 76cb02
    ############################################################################ -->
Packit Service 76cb02
<xsl:param name="glossary.tocdepth">5</xsl:param>
Packit Service 76cb02
<xsl:param name="glossary.numbered">1</xsl:param>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     # glossary #
Packit Service 76cb02
     ############ -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossary">
Packit Service 76cb02
  <xsl:text>% --------	
</xsl:text>
Packit Service 76cb02
  <xsl:text>% GLOSSARY	
</xsl:text>
Packit Service 76cb02
  <xsl:text>% --------	
</xsl:text>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="level">
Packit Service 76cb02
    <xsl:call-template name="get.sect.level"/>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:variable name="title.text">
Packit Service 76cb02
    <xsl:call-template name="gentext">
Packit Service 76cb02
      <xsl:with-param name="key" select="'Glossary'"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
  <xsl:when test="$glossary.numbered = '0'">
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:call-template name="section.unnumbered">
Packit Service 76cb02
      <xsl:with-param name="tocdepth" select="number($glossary.tocdepth)"/>
Packit Service 76cb02
      <xsl:with-param name="level" select="$level"/>
Packit Service 76cb02
      <xsl:with-param name="title" select="$title.text"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:when test="title">
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:call-template name="makeheading">
Packit Service 76cb02
      <xsl:with-param name="level" select="$level"/>
Packit Service 76cb02
      <xsl:with-param name="allnum" select="'1'"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
    <xsl:apply-templates select="." mode="section.body"/>
Packit Service 76cb02
  </xsl:when>
Packit Service 76cb02
  <xsl:otherwise>
Packit Service 76cb02
    
Packit Service 76cb02
    <xsl:call-template name="maketitle">
Packit Service 76cb02
      <xsl:with-param name="level" select="$level"/>
Packit Service 76cb02
      <xsl:with-param name="title" select="$title.text"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
    <xsl:apply-templates select="." mode="section.body"/>
Packit Service 76cb02
  </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossary" mode="section.body">
Packit Service 76cb02
  <xsl:variable name="divs" select="glossdiv"/>
Packit Service 76cb02
  <xsl:variable name="entries" select="glossentry"/>
Packit Service 76cb02
  
Packit Service 76cb02
                                          or self::subtitle
Packit Service 76cb02
                                          or self::glossdiv
Packit Service 76cb02
                                          or self::glossentry)]"/>
Packit Service 76cb02
  <xsl:if test="$preamble">
Packit Service 76cb02
    <xsl:apply-templates select="$preamble"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:if test="$entries">
Packit Service 76cb02
    <xsl:text>
\noindent
</xsl:text>
Packit Service 76cb02
    <xsl:text>\begin{description}
</xsl:text>
Packit Service 76cb02
    <xsl:apply-templates select="$entries"/>
Packit Service 76cb02
    <xsl:text>
\end{description}
</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:if test="$divs">
Packit Service 76cb02
    <xsl:apply-templates select="$divs"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossary/glossaryinfo"/>
Packit Service 76cb02
<xsl:template match="glossary/title"/>
Packit Service 76cb02
<xsl:template match="glossary/subtitle"/>
Packit Service 76cb02
<xsl:template match="glossary/titleabbrev"/>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     # glossdiv #
Packit Service 76cb02
     ############ -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossdiv">
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:variable name="l">
Packit Service 76cb02
    <xsl:call-template name="get.sect.level">
Packit Service 76cb02
      <xsl:with-param name="n" select="parent::glossary"/>
Packit Service 76cb02
    </xsl:call-template>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  <xsl:call-template name="map.sect.level">
Packit Service 76cb02
    <xsl:with-param name="level" select="$l+1"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
  <xsl:text>{</xsl:text>
Packit Service 76cb02
  <xsl:call-template name="normalize-scape">
Packit Service 76cb02
    <xsl:with-param name="string" select="title"/>
Packit Service 76cb02
  </xsl:call-template>
Packit Service 76cb02
  <xsl:text>}
</xsl:text>
Packit Service 76cb02
  <xsl:call-template name="label.id"/>
Packit Service 76cb02
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:apply-templates select="*[not(self::glossentry)]"/>
Packit Service 76cb02
  
Packit Service 76cb02
  
Packit Service 76cb02
  <xsl:text>
\noindent
</xsl:text>
Packit Service 76cb02
  <xsl:text>\begin{description}
</xsl:text>
Packit Service 76cb02
  <xsl:apply-templates select="glossentry"/>
Packit Service 76cb02
  <xsl:text>
\end{description}
</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     # glosslist #
Packit Service 76cb02
     ############# -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossdiv/title" />
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glosslist">
Packit Service 76cb02
  <xsl:text>
\noindent
</xsl:text>
Packit Service 76cb02
  <xsl:text>\begin{description}
</xsl:text>
Packit Service 76cb02
  <xsl:apply-templates/>
Packit Service 76cb02
  <xsl:text>
\end{description}
</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glosslist/title" />
Packit Service 76cb02
<xsl:template match="glosslist/blockinfo" />
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
     # glossentry #
Packit Service 76cb02
     ############## -->
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossentry">
Packit Service 76cb02
  <xsl:apply-templates select="*[not(self::glosssee or self::glossdef)]"/>
Packit Service 76cb02
  <xsl:apply-templates select="glosssee|glossdef"/>
Packit Service 76cb02
  <xsl:text>

</xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossentry/glossterm">
Packit Service 76cb02
  <xsl:text>\item[</xsl:text>
Packit Service 76cb02
  <xsl:if test="../@id or ../@xml:id">
Packit Service 76cb02
    <xsl:text>\hypertarget{</xsl:text>
Packit Service 76cb02
    <xsl:value-of select="(../@id|../@xml:id)[1]"/>
Packit Service 76cb02
    <xsl:text>}</xsl:text>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:text>{</xsl:text>
Packit Service 76cb02
  <xsl:variable name="term">
Packit Service 76cb02
    <xsl:apply-templates/>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  <xsl:value-of select="normalize-space($term)"/>
Packit Service 76cb02
  <xsl:text>}]~ </xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossentry/acronym">
Packit Service 76cb02
  <xsl:text> (\texttt{</xsl:text><xsl:apply-templates/><xsl:text>}) </xsl:text>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
  
Packit Service 76cb02
<xsl:template match="glossentry/abbrev">
Packit Service 76cb02
  <xsl:text> [ </xsl:text><xsl:apply-templates/><xsl:text> ] </xsl:text> 
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossentry/revhistory"/>
Packit Service 76cb02
  
Packit Service 76cb02
<xsl:template match="glossentry/glossdef">
Packit Service 76cb02
  <xsl:text>
</xsl:text>
Packit Service 76cb02
  <xsl:apply-templates select="*[not(self::glossseealso)]"/>
Packit Service 76cb02
  <xsl:apply-templates select="glossseealso"/>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossseealso|glosssee">
Packit Service 76cb02
  <xsl:variable name="oterm" select="@otherterm"/>
Packit Service 76cb02
  <xsl:variable name="targets" select="//node()[@id=$oterm or @xml:id=$oterm]"/>
Packit Service 76cb02
  <xsl:variable name="target" select="$targets[1]"/>
Packit Service 76cb02
  <xsl:variable name="text">
Packit Service 76cb02
    <xsl:apply-templates/>
Packit Service 76cb02
  </xsl:variable>
Packit Service 76cb02
  <xsl:text> </xsl:text>
Packit Service 76cb02
  <xsl:if test="position()=1">
Packit Service 76cb02
    <xsl:if test="self::glosssee">
Packit Service 76cb02
      <xsl:text>

</xsl:text>
Packit Service 76cb02
    </xsl:if>
Packit Service 76cb02
    <xsl:call-template name="gentext.element.name"/>
Packit Service 76cb02
    <xsl:call-template name="gentext.space"/>
Packit Service 76cb02
  </xsl:if>
Packit Service 76cb02
  <xsl:text>"</xsl:text>
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="@otherterm">
Packit Service 76cb02
      <xsl:call-template name="hyperlink.markup">
Packit Service 76cb02
        <xsl:with-param name="linkend" select="@otherterm"/>
Packit Service 76cb02
        <xsl:with-param name="text">
Packit Service 76cb02
          <xsl:choose>
Packit Service 76cb02
          <xsl:when test="$text!=''">
Packit Service 76cb02
            <xsl:value-of select="$text"/>
Packit Service 76cb02
          </xsl:when>
Packit Service 76cb02
          <xsl:otherwise>
Packit Service 76cb02
            <xsl:apply-templates select="$target" mode="xref"/>
Packit Service 76cb02
          </xsl:otherwise>
Packit Service 76cb02
          </xsl:choose>
Packit Service 76cb02
        </xsl:with-param>
Packit Service 76cb02
      </xsl:call-template>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:value-of select="$text"/>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
  <xsl:text>"</xsl:text>
Packit Service 76cb02
Packit Service 76cb02
  <xsl:choose>
Packit Service 76cb02
    <xsl:when test="position()=last()">
Packit Service 76cb02
      <xsl:text>.</xsl:text>
Packit Service 76cb02
    </xsl:when>
Packit Service 76cb02
    <xsl:otherwise>
Packit Service 76cb02
      <xsl:text>, </xsl:text>
Packit Service 76cb02
    </xsl:otherwise>
Packit Service 76cb02
  </xsl:choose>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossentry" mode="xref">
Packit Service 76cb02
  <xsl:apply-templates select="./glossterm" mode="xref"/>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
<xsl:template match="glossterm" mode="xref">
Packit Service 76cb02
  <xsl:apply-templates/>
Packit Service 76cb02
</xsl:template>
Packit Service 76cb02
Packit Service 76cb02
</xsl:stylesheet>
Packit Service 76cb02