Blame doc/gtk-doc.xsl

Packit 8586cb
 
Packit 8586cb
Packit 8586cb
                xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
Packit 8586cb
                exclude-result-prefixes="l"
Packit 8586cb
                version="1.0">
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
       "chunkfast.xsl", but I can see a difference -->
Packit 8586cb
  <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
Packit 8586cb
  <xsl:include href="version-greater-or-equal.xsl"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
	   match="glossentry/glossterm"
Packit 8586cb
	   use="."/>
Packit 8586cb
  
Packit 8586cb
	   match="para[@role='gallery']/link"
Packit 8586cb
	   use="@linkend"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
  <xsl:param name="toc.section.depth">3</xsl:param>
Packit 8586cb
  <xsl:param name="generate.toc">
Packit 8586cb
    book	toc
Packit 8586cb
    chapter toc
Packit 8586cb
    glossary toc
Packit 8586cb
    index toc
Packit 8586cb
    part	toc
Packit 8586cb
    reference toc
Packit 8586cb
  </xsl:param>
Packit 8586cb
Packit 8586cb
  <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
Packit 8586cb
  <xsl:param name="chunker.output.indent" select="'yes'"/>
Packit 8586cb
  <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
Packit 8586cb
  <xsl:param name="chunk.fast" select="1"/>
Packit 8586cb
Packit 8586cb
  <xsl:param name="default.encoding" select="'UTF-8'"/>
Packit 8586cb
  <xsl:param name="chapter.autolabel" select="0"/>
Packit 8586cb
  <xsl:param name="use.id.as.filename" select="1"/>
Packit 8586cb
  <xsl:param name="html.ext" select="'.html'"/>
Packit 8586cb
  <xsl:param name="refentry.generate.name" select="0"/>
Packit 8586cb
  <xsl:param name="refentry.generate.title" select="1"/>
Packit 8586cb
  
Packit 8586cb
       it does not show much effect as we have a user.head.content template
Packit 8586cb
  <xsl:param name="html.extra.head.links" select="0" />
Packit 8586cb
   -->
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:param name="index.on.role" select="1"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:param name="variablelist.as.table" select="1"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:param name="glossterm.auto.link" select="0"></xsl:param>
Packit 8586cb
  -->
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:param name="gtkdoc.version" select="''"/>
Packit 8586cb
  <xsl:param name="gtkdoc.bookname" select="''"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
       this atleast avoid the re-evaluation -->
Packit 8586cb
  <xsl:template name="l10n.language">en</xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:param name="gtkdoc.l10n.xml" select="document('http://docbook.sourceforge.net/release/xsl/current/common/en.xml')"/>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
	   match="l:gentext[@key]"
Packit 8586cb
	   use="@key"/>
Packit 8586cb
  
Packit 8586cb
	   match="l:context[@name]"
Packit 8586cb
	   use="@name"/>
Packit 8586cb
Packit 8586cb
  <xsl:template name="gentext">
Packit 8586cb
    <xsl:param name="key" select="local-name(.)"/>
Packit 8586cb
Packit 8586cb
    <xsl:for-each select="$gtkdoc.l10n.xml">
Packit 8586cb
    <xsl:variable name="l10n.gentext" select="key('gtkdoc.gentext.key', $key)"/>
Packit 8586cb
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="$l10n.gentext">
Packit 8586cb
        <xsl:value-of select="$l10n.gentext/@text"/>
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        <xsl:message>
Packit 8586cb
          <xsl:text>No "en" localization of "</xsl:text>
Packit 8586cb
          <xsl:value-of select="$key"/>
Packit 8586cb
          <xsl:text>" exists.</xsl:text>
Packit 8586cb
        </xsl:message>
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
    </xsl:for-each>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="gentext.dingbat">
Packit 8586cb
    <xsl:param name="dingbat">bullet</xsl:param>
Packit 8586cb
Packit 8586cb
    
Packit 8586cb
                  select="($gtkdoc.l10n.xml/l:l10n/l:dingbat[@key=$dingbat])[1]"/>
Packit 8586cb
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="$l10n.dingbat">
Packit 8586cb
        <xsl:value-of select="$l10n.dingbat/@text"/>
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        <xsl:message>
Packit 8586cb
          <xsl:text>No "en" localization of dingbat </xsl:text>
Packit 8586cb
          <xsl:value-of select="$dingbat"/>
Packit 8586cb
          <xsl:text> exists; using "en".</xsl:text>
Packit 8586cb
        </xsl:message>
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="gentext.template">
Packit 8586cb
    <xsl:param name="context" select="'default'"/>
Packit 8586cb
    <xsl:param name="name" select="'default'"/>
Packit 8586cb
    <xsl:param name="origname" select="$name"/>
Packit 8586cb
Packit 8586cb
    
Packit 8586cb
    <xsl:variable name="rname">
Packit 8586cb
      <xsl:choose>
Packit 8586cb
        <xsl:when test="starts-with($name, '/')">
Packit 8586cb
          <xsl:value-of select="substring-after($name, '/')"/>
Packit 8586cb
        </xsl:when>
Packit 8586cb
        <xsl:otherwise>
Packit 8586cb
          <xsl:value-of select="$name"/>
Packit 8586cb
        </xsl:otherwise>
Packit 8586cb
      </xsl:choose>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
Packit 8586cb
    
Packit 8586cb
    <xsl:message>
Packit 8586cb
      <xsl:text>context:</xsl:text><xsl:value-of select="$context"/>
Packit 8586cb
      <xsl:text>;name:</xsl:text><xsl:value-of select="$rname"/>
Packit 8586cb
      <xsl:text>;origname:</xsl:text><xsl:value-of select="$origname"/>
Packit 8586cb
    </xsl:message>
Packit 8586cb
Packit 8586cb
    see html/html.xsl:<xsl:template match="*" mode="html.title.attribute">
Packit 8586cb
    -->
Packit 8586cb
Packit 8586cb
    <xsl:for-each select="$gtkdoc.l10n.xml">
Packit 8586cb
    <xsl:variable name="context.node" select="key('gtkdoc.context.key', $context)"/>
Packit 8586cb
    
Packit 8586cb
                  select="($context.node/l:template[@name=$rname])[1]"/>
Packit 8586cb
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="$template.node/@text">
Packit 8586cb
        <xsl:value-of select="$template.node/@text"/>
Packit 8586cb
        
Packit 8586cb
        <xsl:message>
Packit 8586cb
          <xsl:text>=</xsl:text><xsl:value-of select="$template.node/@text"/>
Packit 8586cb
        </xsl:message>
Packit 8586cb
        -->
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        <xsl:choose>
Packit 8586cb
          <xsl:when test="contains($rname, '/')">
Packit 8586cb
            <xsl:call-template name="gentext.template">
Packit 8586cb
              <xsl:with-param name="context" select="$context"/>
Packit 8586cb
              <xsl:with-param name="name" select="substring-after($rname, '/')"/>
Packit 8586cb
              <xsl:with-param name="origname" select="$origname"/>
Packit 8586cb
            </xsl:call-template>
Packit 8586cb
          </xsl:when>
Packit 8586cb
        </xsl:choose>
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
    </xsl:for-each>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template name="gentext.template.exists">
Packit 8586cb
    <xsl:param name="context" select="'default'"/>
Packit 8586cb
    <xsl:param name="name" select="'default'"/>
Packit 8586cb
    <xsl:param name="origname" select="$name"/>
Packit 8586cb
Packit 8586cb
    <xsl:variable name="template">
Packit 8586cb
      <xsl:call-template name="gentext.template">
Packit 8586cb
        <xsl:with-param name="context" select="$context"/>
Packit 8586cb
        <xsl:with-param name="name" select="$name"/>
Packit 8586cb
        <xsl:with-param name="origname" select="$origname"/>
Packit 8586cb
      </xsl:call-template>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="string-length($template) != 0">1</xsl:when>
Packit 8586cb
      <xsl:otherwise>0</xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
  <xsl:template name="generate.html.title"/>
Packit 8586cb
  
Packit 8586cb
    <xsl:variable name="has.title.markup">
Packit 8586cb
      <xsl:apply-templates select="." mode="title.markup">
Packit 8586cb
        <xsl:with-param name="verbose" select="0"/>
Packit 8586cb
      </xsl:apply-templates>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
    <xsl:if test="$has.title.markup != '???TITLE???'">
Packit 8586cb
      <xsl:variable name="gentext.title">
Packit 8586cb
        <xsl:apply-templates select="."  mode="object.title.markup.textonly"/>
Packit 8586cb
      </xsl:variable>
Packit 8586cb
      <xsl:choose>
Packit 8586cb
        <xsl:when test="string-length($gentext.title) != 0">
Packit 8586cb
          <xsl:attribute name="title">
Packit 8586cb
            <xsl:value-of select="$gentext.title"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
        </xsl:when>
Packit 8586cb
        <xsl:when test="alt">
Packit 8586cb
          <xsl:attribute name="title">
Packit 8586cb
            <xsl:value-of select="normalize-space(alt)"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
        </xsl:when>
Packit 8586cb
      </xsl:choose>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template-->
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="*" mode="html.title.attribute">
Packit 8586cb
    <xsl:variable name="has.title.markup">
Packit 8586cb
      <xsl:apply-templates select="." mode="title.markup">
Packit 8586cb
        <xsl:with-param name="verbose" select="0"/>
Packit 8586cb
      </xsl:apply-templates>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
    <xsl:if test="$has.title.markup != '???TITLE???'">
Packit 8586cb
      <xsl:variable name="is.title">
Packit 8586cb
        <xsl:call-template name="gentext.template.exists">
Packit 8586cb
          <xsl:with-param name="context" select="'title'"/>
Packit 8586cb
          <xsl:with-param name="name" select="local-name(.)"/>
Packit 8586cb
          <xsl:with-param name="lang">
Packit 8586cb
            <xsl:call-template name="l10n.language"/>
Packit 8586cb
          </xsl:with-param>
Packit 8586cb
        </xsl:call-template>
Packit 8586cb
      </xsl:variable>
Packit 8586cb
Packit 8586cb
      <xsl:variable name="is.title-numbered">
Packit 8586cb
        <xsl:if test="$is.title = 0">
Packit 8586cb
          <xsl:call-template name="gentext.template.exists">
Packit 8586cb
            <xsl:with-param name="context" select="'title-numbered'"/>
Packit 8586cb
            <xsl:with-param name="name" select="local-name(.)"/>
Packit 8586cb
            <xsl:with-param name="lang">
Packit 8586cb
              <xsl:call-template name="l10n.language"/>
Packit 8586cb
            </xsl:with-param>
Packit 8586cb
          </xsl:call-template>
Packit 8586cb
        </xsl:if>
Packit 8586cb
      </xsl:variable>
Packit 8586cb
Packit 8586cb
Packit 8586cb
      <xsl:variable name="is.title-unnumbered">
Packit 8586cb
        <xsl:if test="$is.title = 0 and $is.title-numbered = 0">
Packit 8586cb
          <xsl:call-template name="gentext.template.exists">
Packit 8586cb
            <xsl:with-param name="context" select="'title-unnumbered'"/>
Packit 8586cb
            <xsl:with-param name="name" select="local-name(.)"/>
Packit 8586cb
            <xsl:with-param name="lang">
Packit 8586cb
              <xsl:call-template name="l10n.language"/>
Packit 8586cb
            </xsl:with-param>
Packit 8586cb
          </xsl:call-template>
Packit 8586cb
        </xsl:if>
Packit 8586cb
      </xsl:variable>
Packit 8586cb
Packit 8586cb
      <xsl:variable name="gentext.title">
Packit 8586cb
        
Packit 8586cb
                      $is.title-numbered != 0 or
Packit 8586cb
                      $is.title-unnumbered != 0">
Packit 8586cb
          
Packit 8586cb
                               mode="object.title.markup.textonly"/>
Packit 8586cb
        </xsl:if>
Packit 8586cb
      </xsl:variable>
Packit 8586cb
Packit 8586cb
      <xsl:choose>
Packit 8586cb
        <xsl:when test="string-length($gentext.title) != 0">
Packit 8586cb
          <xsl:attribute name="title">
Packit 8586cb
            <xsl:value-of select="$gentext.title"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
        </xsl:when>
Packit 8586cb
        <xsl:when test="alt">
Packit 8586cb
          <xsl:attribute name="title">
Packit 8586cb
            <xsl:value-of select="normalize-space(alt)"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
        </xsl:when>
Packit 8586cb
      </xsl:choose>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
Packit 8586cb
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
Packit 8586cb
  <xsl:template match="book|article">
Packit 8586cb
    <xsl:variable name="tooldver">
Packit 8586cb
      <xsl:call-template name="version-greater-or-equal">
Packit 8586cb
        <xsl:with-param name="ver1" select="$VERSION" />
Packit 8586cb
        <xsl:with-param name="ver2">1.36</xsl:with-param>
Packit 8586cb
      </xsl:call-template>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
    <xsl:if test="$tooldver = 0">
Packit 8586cb
      <xsl:message terminate="yes">
Packit 8586cb
FATAL-ERROR: You need the DocBook XSL Stylesheets version 1.36 or higher
Packit 8586cb
to build the documentation.
Packit 8586cb
Get a newer version at http://docbook.sourceforge.net/projects/xsl/
Packit 8586cb
      </xsl:message>
Packit 8586cb
    </xsl:if>
Packit 8586cb
    <xsl:apply-imports/>
Packit 8586cb
Packit 8586cb
    
Packit 8586cb
    <xsl:call-template name="generate.index"/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="generate.index">
Packit 8586cb
    <xsl:call-template name="write.text.chunk">
Packit 8586cb
      <xsl:with-param name="filename" select="'index.sgml'"/>
Packit 8586cb
      <xsl:with-param name="content">
Packit 8586cb
        
Packit 8586cb
                             mode="generate.index.mode"/>
Packit 8586cb
        
Packit 8586cb
	
Packit 8586cb
	    The obvious way to write this is //anchor|//refentry|etc...
Packit 8586cb
	    The obvious way is slow because it causes multiple traversals
Packit 8586cb
	    in libxslt. This take about half the time.
Packit 8586cb
	-->
Packit 8586cb
	
Packit 8586cb
				         name() = 'refsect2' or name()='refsynopsisdiv' or
Packit 8586cb
					 name()='varlistentry']"
Packit 8586cb
                             mode="generate.index.mode"/>
Packit 8586cb
      </xsl:with-param>
Packit 8586cb
      <xsl:with-param name="default.encoding" select="'UTF-8'"/>
Packit 8586cb
      <xsl:with-param name="chunker.output.indent" select="'no'"/>
Packit 8586cb
    </xsl:call-template>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="*" mode="generate.index.mode">
Packit 8586cb
    <xsl:if test="not(@href) and count(@id) > 0">
Packit 8586cb
      <xsl:text><ANCHOR id="</xsl:text>
Packit 8586cb
      <xsl:value-of select="@id"/>
Packit 8586cb
      <xsl:text>" href="</xsl:text>
Packit 8586cb
        <xsl:if test="$gtkdoc.bookname">
Packit 8586cb
          <xsl:value-of select="$gtkdoc.bookname"/>
Packit 8586cb
          <xsl:text>/</xsl:text>
Packit 8586cb
        </xsl:if>
Packit 8586cb
        <xsl:call-template name="href.target"/>
Packit 8586cb
        <xsl:text>">
</xsl:text>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="/book/bookinfo/releaseinfo/ulink" mode="generate.index.mode">
Packit 8586cb
    <xsl:if test="@role='online-location'">
Packit 8586cb
      <xsl:text><ONLINE href="</xsl:text>
Packit 8586cb
      <xsl:value-of select="@url"/>
Packit 8586cb
      <xsl:text>">
</xsl:text>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
Packit 8586cb
  <xsl:template match="link">
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="id(@linkend)">
Packit 8586cb
        <xsl:apply-imports/>
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        <GTKDOCLINK HREF="{@linkend}">
Packit 8586cb
          <xsl:apply-templates/>
Packit 8586cb
        </GTKDOCLINK>
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
       the normal gtk-doc output style. -->
Packit 8586cb
Packit 8586cb
  <xsl:param name="shade.verbatim" select="0"/>
Packit 8586cb
  <xsl:param name="refentry.separator" select="0"/>
Packit 8586cb
Packit 8586cb
  <xsl:template match="refsect2">
Packit 8586cb
    <xsl:if test="preceding-sibling::refsect2">
Packit 8586cb
      
Packit 8586cb
    </xsl:if>
Packit 8586cb
    <xsl:apply-imports/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="user.head.content">
Packit 8586cb
    <xsl:if test="$gtkdoc.version">
Packit 8586cb
      <meta name="generator" content="GTK-Doc V{$gtkdoc.version} (XML mode)"/>
Packit 8586cb
    </xsl:if>
Packit 8586cb
    <link rel="stylesheet" href="style.css" type="text/css"/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="user.footer.content">
Packit 8586cb
    
Packit 8586cb
      
Packit 8586cb
      <xsl:choose>
Packit 8586cb
        <xsl:when test="$gtkdoc.version">
Packit 8586cb
          Generated by GTK-Doc V<xsl:copy-of select="$gtkdoc.version" />
Packit 8586cb
        </xsl:when>
Packit 8586cb
        <xsl:otherwise>
Packit 8586cb
          Generated by GTK-Doc
Packit 8586cb
        </xsl:otherwise>
Packit 8586cb
      </xsl:choose>
Packit 8586cb
    
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="title" mode="book.titlepage.recto.mode">
Packit 8586cb
    
Packit 8586cb
           cellpadding="2" cellspacing="0">
Packit 8586cb
      
Packit 8586cb
        
Packit 8586cb
          

Packit 8586cb
            <xsl:value-of select="."/>
Packit 8586cb
          

Packit 8586cb
        
Packit 8586cb
      
Packit 8586cb
    
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="header.navigation">
Packit 8586cb
    <xsl:param name="prev" select="/foo"/>
Packit 8586cb
    <xsl:param name="next" select="/foo"/>
Packit 8586cb
    <xsl:variable name="home" select="/*[1]"/>
Packit 8586cb
    <xsl:variable name="up" select="parent::*"/>
Packit 8586cb
    <xsl:variable name="refsections" select="./refsect1[@role]"/>
Packit 8586cb
    <xsl:variable name="glssections" select="./glossdiv/title"/>
Packit 8586cb
    <xsl:variable name="idxsections" select="./indexdiv/indexdiv/title"/>
Packit 8586cb
    <xsl:variable name="section_id" select="./@id"/>
Packit 8586cb
    <xsl:variable name="sect_object_hierarchy" select="./refsect1[@role='object_hierarchy']"/>
Packit 8586cb
    <xsl:variable name="sect_impl_interfaces" select="./refsect1[@role='impl_interfaces']"/>
Packit 8586cb
    <xsl:variable name="sect_prerequisites" select="./refsect1[@role='prerequisites']"/>
Packit 8586cb
    <xsl:variable name="sect_derived_interfaces" select="./refsect1[@role='derived_interfaces']"/>
Packit 8586cb
    <xsl:variable name="sect_implementations" select="./refsect1[@role='implementations']"/>
Packit 8586cb
    <xsl:variable name="sect_properties" select="./refsect1[@role='properties']"/>
Packit 8586cb
    <xsl:variable name="sect_child_properties" select="./refsect1[@role='child_properties']"/>
Packit 8586cb
    <xsl:variable name="sect_style_properties" select="./refsect1[@role='style_properties']"/>
Packit 8586cb
    <xsl:variable name="sect_signal_proto" select="./refsect1[@role='signal_proto']"/>
Packit 8586cb
    <xsl:variable name="sect_desc" select="./refsect1[@role='desc']"/>
Packit 8586cb
    <xsl:variable name="sect_synopsis" select="./refsynopsisdiv[@role='synopsis']"/>
Packit 8586cb
    
Packit 8586cb
    <xsl:variable name="sect_details" select="./refsect1[@id='details']"/>
Packit 8586cb
    <xsl:variable name="sect_property_details" select="./refsect1[@id='property_details']"/>
Packit 8586cb
    <xsl:variable name="sect_child_property_details" select="./refsect1[@id='child_property_details']"/>
Packit 8586cb
    <xsl:variable name="sect_style_property_details" select="./refsect1[@id='style_property_details']"/>
Packit 8586cb
    <xsl:variable name="sect_signals" select="./refsect1[@id='signals']"/>
Packit 8586cb
    -->
Packit 8586cb
Packit 8586cb
    <xsl:if test="$suppress.navigation = '0' and $home != .">
Packit 8586cb
      
Packit 8586cb
             summary = "Navigation header" cellpadding="2" cellspacing="2">
Packit 8586cb
        
Packit 8586cb
          <xsl:choose>
Packit 8586cb
            <xsl:when test="count($prev) > 0">
Packit 8586cb
              
Packit 8586cb
                
Packit 8586cb
                  <xsl:attribute name="href">
Packit 8586cb
                    <xsl:call-template name="href.target">
Packit 8586cb
                      <xsl:with-param name="object" select="$prev"/>
Packit 8586cb
                    </xsl:call-template>
Packit 8586cb
                  </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                    <xsl:attribute name="alt">
Packit 8586cb
                      <xsl:call-template name="gentext">
Packit 8586cb
                        <xsl:with-param name="key">nav-prev</xsl:with-param>
Packit 8586cb
                      </xsl:call-template>
Packit 8586cb
                    </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                
Packit 8586cb
              
Packit 8586cb
            </xsl:when>
Packit 8586cb
            <xsl:otherwise>
Packit 8586cb
               
Packit 8586cb
            </xsl:otherwise>
Packit 8586cb
          </xsl:choose>
Packit 8586cb
          <xsl:choose>
Packit 8586cb
            <xsl:when test="count($up) > 0 and $up != $home">
Packit 8586cb
              
Packit 8586cb
                
Packit 8586cb
                  <xsl:attribute name="href">
Packit 8586cb
                    <xsl:call-template name="href.target">
Packit 8586cb
                      <xsl:with-param name="object" select="$up"/>
Packit 8586cb
                    </xsl:call-template>
Packit 8586cb
                  </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                    <xsl:attribute name="alt">
Packit 8586cb
                      <xsl:call-template name="gentext">
Packit 8586cb
                        <xsl:with-param name="key">nav-up</xsl:with-param>
Packit 8586cb
                      </xsl:call-template>
Packit 8586cb
                    </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                
Packit 8586cb
              
Packit 8586cb
            </xsl:when>
Packit 8586cb
            <xsl:otherwise>
Packit 8586cb
               
Packit 8586cb
            </xsl:otherwise>
Packit 8586cb
          </xsl:choose>
Packit 8586cb
          <xsl:choose>
Packit 8586cb
            <xsl:when test="$home != .">
Packit 8586cb
              
Packit 8586cb
                
Packit 8586cb
                  <xsl:attribute name="href">
Packit 8586cb
                    <xsl:call-template name="href.target">
Packit 8586cb
                      <xsl:with-param name="object" select="$home"/>
Packit 8586cb
                    </xsl:call-template>
Packit 8586cb
                  </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                    <xsl:attribute name="alt">
Packit 8586cb
                      <xsl:call-template name="gentext">
Packit 8586cb
                        <xsl:with-param name="key">nav-home</xsl:with-param>
Packit 8586cb
                      </xsl:call-template>
Packit 8586cb
                    </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                
Packit 8586cb
              
Packit 8586cb
            </xsl:when>
Packit 8586cb
            <xsl:otherwise>
Packit 8586cb
               
Packit 8586cb
            </xsl:otherwise>
Packit 8586cb
          </xsl:choose>
Packit 8586cb
          
Packit 8586cb
            <xsl:apply-templates select="$home" mode="object.title.markup"/>
Packit 8586cb
          
Packit 8586cb
          <xsl:choose>
Packit 8586cb
            <xsl:when test="count($next) > 0">
Packit 8586cb
              
Packit 8586cb
                
Packit 8586cb
                  <xsl:attribute name="href">
Packit 8586cb
                    <xsl:call-template name="href.target">
Packit 8586cb
                      <xsl:with-param name="object" select="$next"/>
Packit 8586cb
                    </xsl:call-template>
Packit 8586cb
                  </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                    <xsl:attribute name="alt">
Packit 8586cb
                      <xsl:call-template name="gentext">
Packit 8586cb
                        <xsl:with-param name="key">nav-next</xsl:with-param>
Packit 8586cb
                      </xsl:call-template>
Packit 8586cb
                    </xsl:attribute>
Packit 8586cb
                  
Packit 8586cb
                
Packit 8586cb
              
Packit 8586cb
            </xsl:when>
Packit 8586cb
            <xsl:otherwise>
Packit 8586cb
               
Packit 8586cb
            </xsl:otherwise>
Packit 8586cb
          </xsl:choose>
Packit 8586cb
        
Packit 8586cb
        
Packit 8586cb
        <xsl:choose>
Packit 8586cb
          <xsl:when test="count($refsections) > 0">
Packit 8586cb
            
Packit 8586cb
              
Packit 8586cb
                <xsl:if test="count($sect_synopsis) > 0">
Packit 8586cb
                  Top
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_desc) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='desc']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_object_hierarchy) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_impl_interfaces) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_prerequisites) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_derived_interfaces) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_implementations) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='implementations']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_properties) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='properties']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_child_properties) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_style_properties) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_signal_proto) > 0">
Packit 8586cb
                   | 
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
Packit 8586cb
                  
Packit 8586cb
                </xsl:if>
Packit 8586cb
                
Packit 8586cb
                <xsl:if test="count($sect_details) > 0">
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@id='details']/title"/>
Packit 8586cb
                  
Packit 8586cb
                   | 
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_property_details) > 0">
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@id='property_details']/title"/>
Packit 8586cb
                  
Packit 8586cb
                   | 
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_child_property_details) > 0">
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@id='property_child_details']/title"/>
Packit 8586cb
                  
Packit 8586cb
                   | 
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_style_property_details) > 0">
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@id='style_property_details']/title"/>
Packit 8586cb
                  
Packit 8586cb
                   | 
Packit 8586cb
                </xsl:if>
Packit 8586cb
                <xsl:if test="count($sect_signals) > 0">
Packit 8586cb
                  
Packit 8586cb
                    <xsl:value-of select="./refsect1[@id='signals']/title"/>
Packit 8586cb
                  
Packit 8586cb
                   | 
Packit 8586cb
                </xsl:if>
Packit 8586cb
                -->
Packit 8586cb
              
Packit 8586cb
            
Packit 8586cb
          </xsl:when>
Packit 8586cb
          
Packit 8586cb
          elements having a anchor element. maybe we can customize the xsl
Packit 8586cb
          to automaticaly create local anchors
Packit 8586cb
          -->
Packit 8586cb
          <xsl:when test="count($glssections) > 0">
Packit 8586cb
            
Packit 8586cb
              
Packit 8586cb
                 <xsl:for-each select="./glossdiv">
Packit 8586cb
                   <xsl:if test="position() > 1">
Packit 8586cb
                      | 
Packit 8586cb
                   </xsl:if>
Packit 8586cb
                   
Packit 8586cb
                     <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
Packit 8586cb
                     <xsl:value-of select="./title"/>
Packit 8586cb
                   
Packit 8586cb
                 </xsl:for-each>
Packit 8586cb
              
Packit 8586cb
            
Packit 8586cb
          </xsl:when>
Packit 8586cb
          <xsl:when test="count($idxsections) > 0">
Packit 8586cb
            
Packit 8586cb
              
Packit 8586cb
                 <xsl:for-each select="./indexdiv/indexdiv">
Packit 8586cb
                   <xsl:if test="position() > 1">
Packit 8586cb
                      | 
Packit 8586cb
                   </xsl:if>
Packit 8586cb
                   
Packit 8586cb
                     <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
Packit 8586cb
                     <xsl:value-of select="./title"/>
Packit 8586cb
                   
Packit 8586cb
                 </xsl:for-each>
Packit 8586cb
              
Packit 8586cb
            
Packit 8586cb
          </xsl:when>
Packit 8586cb
        </xsl:choose>
Packit 8586cb
      
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="footer.navigation">
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
       if the stylesheets don't support filtered indices
Packit 8586cb
    -->
Packit 8586cb
  <xsl:template match="index">
Packit 8586cb
    <xsl:variable name="has-filtered-index">
Packit 8586cb
      <xsl:call-template name="version-greater-or-equal">
Packit 8586cb
        <xsl:with-param name="ver1" select="$VERSION" />
Packit 8586cb
        <xsl:with-param name="ver2">1.66</xsl:with-param>
Packit 8586cb
      </xsl:call-template>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
    <xsl:if test="($has-filtered-index = 1) or (count(@role) = 0)">
Packit 8586cb
      <xsl:apply-imports/>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="index" mode="toc">
Packit 8586cb
    <xsl:variable name="has-filtered-index">
Packit 8586cb
      <xsl:call-template name="version-greater-or-equal">
Packit 8586cb
        <xsl:with-param name="ver1" select="$VERSION" />
Packit 8586cb
        <xsl:with-param name="ver2">1.66</xsl:with-param>
Packit 8586cb
      </xsl:call-template>
Packit 8586cb
    </xsl:variable>
Packit 8586cb
    <xsl:if test="($has-filtered-index = 1) or (count(@role) = 0)">
Packit 8586cb
      <xsl:apply-imports/>
Packit 8586cb
    </xsl:if>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="para">
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="@role = 'gallery'">
Packit 8586cb
         
Packit 8586cb
           
Packit 8586cb
           <xsl:apply-templates mode="gallery.mode"/>
Packit 8586cb
           
Packit 8586cb
         
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        <xsl:apply-imports/>
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
  </xsl:template>
Packit 8586cb
  
Packit 8586cb
  
Packit 8586cb
    
Packit 8586cb
      
Packit 8586cb
      <xsl:apply-templates mode="gallery.mode"/>
Packit 8586cb
      
Packit 8586cb
    
Packit 8586cb
  </xsl:template-->
Packit 8586cb
Packit 8586cb
Packit 8586cb
Packit 8586cb
  <xsl:template match="link" mode="gallery.mode">
Packit 8586cb
    
Packit 8586cb
       <xsl:apply-templates select="."/>
Packit 8586cb
    
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="refnamediv">
Packit 8586cb
    
Packit 8586cb
      
Packit 8586cb
        
Packit 8586cb
          <xsl:call-template name="anchor"/>
Packit 8586cb
            <xsl:choose>
Packit 8586cb
              <xsl:when test="$refentry.generate.name != 0">
Packit 8586cb
                

Packit 8586cb
                <xsl:call-template name="gentext">
Packit 8586cb
                    <xsl:with-param name="key" select="'RefName'"/>
Packit 8586cb
                  </xsl:call-template>
Packit 8586cb
                
Packit 8586cb
              </xsl:when>
Packit 8586cb
              <xsl:when test="$refentry.generate.title != 0">
Packit 8586cb
                

Packit 8586cb
                  <xsl:choose>
Packit 8586cb
                    <xsl:when test="../refmeta/refentrytitle">
Packit 8586cb
                      <xsl:apply-templates select="../refmeta/refentrytitle"/>
Packit 8586cb
                    </xsl:when>
Packit 8586cb
                    <xsl:otherwise>
Packit 8586cb
                      <xsl:apply-templates select="refname[1]"/>
Packit 8586cb
                    </xsl:otherwise>
Packit 8586cb
                  </xsl:choose>
Packit 8586cb
                
Packit 8586cb
              </xsl:when>
Packit 8586cb
            </xsl:choose>
Packit 8586cb
            

Packit 8586cb
            <xsl:apply-templates/>
Packit 8586cb
          

Packit 8586cb
        
Packit 8586cb
        
Packit 8586cb
          <xsl:choose>
Packit 8586cb
            <xsl:when test="../refmeta/refmiscinfo/inlinegraphic">
Packit 8586cb
              <xsl:apply-templates select="../refmeta/refmiscinfo/inlinegraphic"/>
Packit 8586cb
            </xsl:when>
Packit 8586cb
            <xsl:otherwise>
Packit 8586cb
              
Packit 8586cb
                   - determine the id of the enclosing refentry
Packit 8586cb
                   - look for an inlinegraphic inside a link with linkend == refentryid inside a para with role == gallery
Packit 8586cb
                   - use it here
Packit 8586cb
                -->
Packit 8586cb
              <xsl:variable name="refentryid" select="../@id"/>
Packit 8586cb
	      <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
Packit 8586cb
            </xsl:otherwise>
Packit 8586cb
          </xsl:choose>
Packit 8586cb
        
Packit 8586cb
       
Packit 8586cb
     
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="indexdiv">
Packit 8586cb
    <xsl:attribute name="name">idx<xsl:value-of select="./title"/></xsl:attribute>
Packit 8586cb
    <xsl:apply-templates/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="glossdiv">
Packit 8586cb
    <xsl:attribute name="name">gls<xsl:value-of select="./title"/></xsl:attribute>
Packit 8586cb
    <xsl:apply-templates/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="indexterm">
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template name="user.format.extralinks">
Packit 8586cb
    <xsl:if test="../ulink[@role='extralinks']">
Packit 8586cb
      
Packit 8586cb
        <xsl:for-each select="../ulink[@role='extralinks']">
Packit 8586cb
          <xsl:if test="position() = 1">[ </xsl:if>
Packit 8586cb
          <xsl:if test="position() > 1"> | </xsl:if>
Packit 8586cb
          
Packit 8586cb
            <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
Packit 8586cb
            <xsl:copy-of select="text()" />
Packit 8586cb
          
Packit 8586cb
          <xsl:if test="position() = last()"> ]</xsl:if>
Packit 8586cb
        </xsl:for-each>
Packit 8586cb
      
Packit 8586cb
    </xsl:if>
Packit 8586cb
    
Packit 8586cb
    <xsl:apply-templates/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
  <xsl:template match="//refsect2/ulink[@role='extralinks']"/>
Packit 8586cb
  <xsl:template match="//refsect1/ulink[@role='extralinks']"/>
Packit 8586cb
Packit 8586cb
  <xsl:template match="//refsect2/title">
Packit 8586cb
    

<xsl:call-template name="user.format.extralinks"/>

Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template match="//refsect1/title">
Packit 8586cb
    

<xsl:call-template name="user.format.extralinks"/>

Packit 8586cb
  </xsl:template>
Packit 8586cb
  -->
Packit 8586cb
Packit 8586cb
  
Packit 8586cb
Packit 8586cb
  <xsl:template match="acronym">
Packit 8586cb
    <xsl:call-template name="generate.acronym.link"/>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
  <xsl:template name="generate.acronym.link">
Packit 8586cb
    <xsl:param name="acronym">
Packit 8586cb
      <xsl:apply-templates/>
Packit 8586cb
    </xsl:param>
Packit 8586cb
    
Packit 8586cb
      We use for-each to change context to the database document because key()
Packit 8586cb
      only locates elements in the same document as the context node!
Packit 8586cb
    -->
Packit 8586cb
Packit 8586cb
    <xsl:param name="value" >
Packit 8586cb
      <xsl:value-of select="key('acronym.key', $acronym)/../glossdef/para[1]" />
Packit 8586cb
    </xsl:param>
Packit 8586cb
    <xsl:choose>
Packit 8586cb
      <xsl:when test="$value=''">
Packit 8586cb
        
Packit 8586cb
        <xsl:message>
Packit 8586cb
          In gtk-doc.xsl: For acronym (<xsl:value-of select="$acronym"/>) no value found!
Packit 8586cb
        </xsl:message>
Packit 8586cb
        
Packit 8586cb
          <xsl:attribute name="href">
Packit 8586cb
            <xsl:text>http://foldoc.org/</xsl:text>
Packit 8586cb
	        <xsl:value-of select="$acronym"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
          <xsl:call-template name="inline.charseq"/>
Packit 8586cb
        
Packit 8586cb
      </xsl:when>
Packit 8586cb
      <xsl:otherwise>
Packit 8586cb
        
Packit 8586cb
        
Packit 8586cb
          <xsl:attribute name="title">
Packit 8586cb
            <xsl:value-of select="$value"/>
Packit 8586cb
          </xsl:attribute>
Packit 8586cb
          <xsl:call-template name="inline.charseq"/>
Packit 8586cb
        
Packit 8586cb
      </xsl:otherwise>
Packit 8586cb
    </xsl:choose>
Packit 8586cb
  </xsl:template>
Packit 8586cb
Packit 8586cb
</xsl:stylesheet>