Blame doc/newapi.xsl

Packit 423ecb
Packit 423ecb
Packit 423ecb
  Stylesheet to generate the HTML documentation from an XML API descriptions:
Packit 423ecb
  xsltproc newapi.xsl libxml2-api.xml
Packit 423ecb
Packit 423ecb
  Daniel Veillard
Packit 423ecb
-->
Packit 423ecb
Packit 423ecb
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Packit 423ecb
  xmlns:exsl="http://exslt.org/common"
Packit 423ecb
  xmlns:str="http://exslt.org/strings"
Packit 423ecb
  extension-element-prefixes="exsl str"
Packit 423ecb
  exclude-result-prefixes="exsl str">
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
  <xsl:import href="site.xsl"/>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
  
Packit 423ecb
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
Packit 423ecb
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
  <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
  <xsl:variable name="htmldir">html</xsl:variable>
Packit 423ecb
  <xsl:variable name="href_base">../</xsl:variable>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
  <xsl:variable name="menu_name">API Menu</xsl:variable>
Packit 423ecb
  <xsl:variable name="apitoc">
Packit 423ecb
    
Packit 423ecb
          enctype="application/x-www-form-urlencoded" method="get">
Packit 423ecb
      <input name="query" type="text" size="20" value=""/>
Packit 423ecb
      <input name="submit" type="submit" value="Search ..."/>
Packit 423ecb
    </form>
Packit 423ecb
    
    Packit 423ecb
          
  • Packit 423ecb
                 href="{$href_base}index.html">Main Menu
    Packit 423ecb
          
  • Packit 423ecb
                 href="{$href_base}docs.html">Developer Menu
    Packit 423ecb
          
  • Packit 423ecb
                 href="{$href_base}examples/index.html">Code Examples
    Packit 423ecb
          
  • Packit 423ecb
                 href="index.html">API Menu
    Packit 423ecb
          
  • Parser API
  • Packit 423ecb
          
  • Tree API
  • Packit 423ecb
          
  • Reader API
  • Packit 423ecb
          
  • XML Guidelines
  • Packit 423ecb
          
  • ChangeLog
  • Packit 423ecb
        
    Packit 423ecb
      </xsl:variable>
    Packit 423ecb
      <xsl:template name="apitoc">
    Packit 423ecb
        
    Packit 423ecb
          
    Packit 423ecb
            
    Packit 423ecb
              
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <center>
    Packit 423ecb
                      <xsl:value-of select="$menu_name"/>
    Packit 423ecb
                    </center>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <xsl:copy-of select="$apitoc"/>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
              
    Packit 423ecb
              
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <center>
    Packit 423ecb
                      API Indexes
    Packit 423ecb
                    </center>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <xsl:copy-of select="$api"/>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
              
    Packit 423ecb
              
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <center>
    Packit 423ecb
                      Related links
    Packit 423ecb
                    </center>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
                
    Packit 423ecb
                  
    Packit 423ecb
                    <xsl:copy-of select="$related"/>
    Packit 423ecb
                  
    Packit 423ecb
                
    Packit 423ecb
              
    Packit 423ecb
            
    Packit 423ecb
          
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template name="docstyle">
    Packit 423ecb
        <style type="text/css">
    Packit 423ecb
          div.deprecated pre.programlisting {border-style: double;border-color:red}
    Packit 423ecb
          pre.programlisting {border-style: double;background: #EECFA1}
    Packit 423ecb
        </style>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
      <xsl:template name="navbar">
    Packit 423ecb
        <xsl:variable name="previous" select="preceding-sibling::file[1]"/>
    Packit 423ecb
        <xsl:variable name="next" select="following-sibling::file[1]"/>
    Packit 423ecb
        
    Packit 423ecb
               cellpadding="2" cellspacing="2">
    Packit 423ecb
          
    Packit 423ecb
            <xsl:if test="$previous">
    Packit 423ecb
              Prev
    Packit 423ecb
    	  <xsl:value-of select="$previous/@name"/>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
            Up
    Packit 423ecb
    	API documentation
    Packit 423ecb
            Home
    Packit 423ecb
            The XML C parser and toolkit of Gnome
    Packit 423ecb
            <xsl:if test="$next">
    Packit 423ecb
    	  <xsl:value-of select="$next/@name"/>
    Packit 423ecb
              Next
    Packit 423ecb
            </xsl:if>
    Packit 423ecb
          
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      
    Packit 423ecb
           be the API one and not the result tree from the tokenize() result,
    Packit 423ecb
           because the keys are only defined on the main document -->
    Packit 423ecb
      <xsl:template mode="dumptoken" match='*'>
    Packit 423ecb
        <xsl:param name="token"/>
    Packit 423ecb
        <xsl:variable name="ref" select="key('symbols', $token)"/>
    Packit 423ecb
        <xsl:choose>
    Packit 423ecb
          <xsl:when test="$ref">
    Packit 423ecb
            <xsl:value-of select="$token"/>
    Packit 423ecb
          </xsl:when>
    Packit 423ecb
          <xsl:otherwise>
    Packit 423ecb
            <xsl:value-of select="$token"/>
    Packit 423ecb
          </xsl:otherwise>
    Packit 423ecb
        </xsl:choose>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      
    Packit 423ecb
      <xsl:template name="dumptext">
    Packit 423ecb
        <xsl:param name="text"/>
    Packit 423ecb
        <xsl:variable name="ctxt" select='.'/>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:for-each select="str:tokenize($text, ' 	')">
    Packit 423ecb
          <xsl:apply-templates select="$ctxt" mode='dumptoken'>
    Packit 423ecb
            <xsl:with-param name="token" select="string(.)"/>
    Packit 423ecb
          </xsl:apply-templates>
    Packit 423ecb
          <xsl:if test="position() != last()">
    Packit 423ecb
            <xsl:text> </xsl:text>
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="macro" mode="toc">
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>#define </xsl:text><xsl:value-of select="@name"/>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="variable" mode="toc">
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>Variable </xsl:text>
    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="string(@type)"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        <xsl:text> </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="typedef" mode="toc">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:choose>
    Packit 423ecb
          <xsl:when test="@type = 'enum'">
    Packit 423ecb
    	<xsl:text>Enum </xsl:text>
    Packit 423ecb
    	<xsl:value-of select="$name"/>
    Packit 423ecb
    	<xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
          </xsl:when>
    Packit 423ecb
          <xsl:otherwise>
    Packit 423ecb
    	<xsl:text>Typedef </xsl:text>
    Packit 423ecb
    	<xsl:call-template name="dumptext">
    Packit 423ecb
    	  <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
    	</xsl:call-template>
    Packit 423ecb
    	<xsl:text> </xsl:text>
    Packit 423ecb
    	<xsl:value-of select="$name"/>
    Packit 423ecb
    	<xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
          </xsl:otherwise>
    Packit 423ecb
        </xsl:choose>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="typedef[@type = 'enum']">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        

    Enum <xsl:value-of select="$name"/>

    Packit 423ecb
        
    Packit 423ecb
          <xsl:text>Enum </xsl:text>
    Packit 423ecb
          <xsl:value-of select="$name"/>
    Packit 423ecb
          <xsl:text> {
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
          <xsl:for-each select="/api/symbols/enum[@type = $name]">
    Packit 423ecb
            <xsl:sort select="@value" data-type="number" order="ascending"/>
    Packit 423ecb
            <xsl:text>    </xsl:text>
    Packit 423ecb
            <xsl:value-of select="@name"/>
    Packit 423ecb
            <xsl:text> = </xsl:text>
    Packit 423ecb
            <xsl:value-of select="@value"/>
    Packit 423ecb
            <xsl:if test="@info != ''">
    Packit 423ecb
    	  <xsl:text> : </xsl:text>
    Packit 423ecb
    	  <xsl:call-template name="dumptext">
    Packit 423ecb
    	    <xsl:with-param name="text" select="@info"/>
    Packit 423ecb
    	  </xsl:call-template>
    Packit 423ecb
            </xsl:if>
    Packit 423ecb
            <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
          </xsl:for-each>
    Packit 423ecb
          <xsl:text>}
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="struct" mode="toc">
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>Structure </xsl:text><xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:value-of select="@type"/><xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        <xsl:if test="not(field)">
    Packit 423ecb
          <xsl:text>The content of this structure is not made public by the API.
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="struct">
    Packit 423ecb
        

    Structure <xsl:value-of select="@name"/>

    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>Structure </xsl:text><xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:value-of select="@type"/><xsl:text> {
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        <xsl:if test="not(field)">
    Packit 423ecb
          <xsl:text>The content of this structure is not made public by the API.
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:for-each select="field">
    Packit 423ecb
            <xsl:text>    </xsl:text>
    Packit 423ecb
    	<xsl:call-template name="dumptext">
    Packit 423ecb
    	  <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
    	</xsl:call-template>
    Packit 423ecb
    	<xsl:text>	</xsl:text>
    Packit 423ecb
    	<xsl:value-of select="@name"/>
    Packit 423ecb
    	<xsl:if test="@info != ''">
    Packit 423ecb
    	  <xsl:text>	: </xsl:text>
    Packit 423ecb
    	  <xsl:call-template name="dumptext">
    Packit 423ecb
    	    <xsl:with-param name="text" select="substring(@info, 1, 40)"/>
    Packit 423ecb
    	  </xsl:call-template>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
        <xsl:text>}</xsl:text>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="macro">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        

    Macro: <xsl:value-of select="$name"/>

    Packit 423ecb
        
    <xsl:text>#define </xsl:text><xsl:value-of select="$name"/>
    Packit 423ecb
        

    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="info"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        

    <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="function" mode="toc">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        <xsl:variable name="nlen" select="string-length($name)"/>
    Packit 423ecb
        <xsl:variable name="tlen" select="string-length(return/@type)"/>
    Packit 423ecb
        <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="return/@type"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        <xsl:text>	</xsl:text>
    Packit 423ecb
        <xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:if test="$blen - 40 < -8">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:if test="$blen - 40 < 0">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:text>	(</xsl:text>
    Packit 423ecb
        <xsl:if test="not(arg)">
    Packit 423ecb
          <xsl:text>void</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:for-each select="arg">
    Packit 423ecb
          <xsl:call-template name="dumptext">
    Packit 423ecb
            <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
          </xsl:call-template>
    Packit 423ecb
          <xsl:text> </xsl:text>
    Packit 423ecb
          <xsl:value-of select="@name"/>
    Packit 423ecb
          <xsl:if test="position() != last()">
    Packit 423ecb
            <xsl:text>, </xsl:text>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 8">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 0">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:text>					 </xsl:text>
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
        <xsl:text>)</xsl:text>
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="functype" mode="toc">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        <xsl:variable name="nlen" select="string-length($name)"/>
    Packit 423ecb
        <xsl:variable name="tlen" select="string-length(return/@type)"/>
    Packit 423ecb
        <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>Function type: </xsl:text>
    Packit 423ecb
        <xsl:value-of select="$name"/>
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="return/@type"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        <xsl:text>	</xsl:text>
    Packit 423ecb
        <xsl:value-of select="$name"/>
    Packit 423ecb
        <xsl:if test="$blen - 40 < -8">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:if test="$blen - 40 < 0">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:text>	(</xsl:text>
    Packit 423ecb
        <xsl:if test="not(arg)">
    Packit 423ecb
          <xsl:text>void</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:for-each select="arg">
    Packit 423ecb
          <xsl:call-template name="dumptext">
    Packit 423ecb
            <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
          </xsl:call-template>
    Packit 423ecb
          <xsl:text> </xsl:text>
    Packit 423ecb
          <xsl:value-of select="@name"/>
    Packit 423ecb
          <xsl:if test="position() != last()">
    Packit 423ecb
            <xsl:text>, </xsl:text>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 8">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 0">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:text>					 </xsl:text>
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
        <xsl:text>)
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="functype">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        <xsl:variable name="nlen" select="string-length($name)"/>
    Packit 423ecb
        <xsl:variable name="tlen" select="string-length(return/@type)"/>
    Packit 423ecb
        <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
    Packit 423ecb
        

    Packit 423ecb
          
    Packit 423ecb
          <xsl:text>Function type: </xsl:text>
    Packit 423ecb
          <xsl:value-of select="$name"/>
    Packit 423ecb
        
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>Function type: </xsl:text>
    Packit 423ecb
        <xsl:value-of select="$name"/>
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="return/@type"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        <xsl:text>	</xsl:text>
    Packit 423ecb
        <xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:if test="$blen - 40 < -8">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:if test="$blen - 40 < 0">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:text>	(</xsl:text>
    Packit 423ecb
        <xsl:if test="not(arg)">
    Packit 423ecb
          <xsl:text>void</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:for-each select="arg">
    Packit 423ecb
          <xsl:call-template name="dumptext">
    Packit 423ecb
            <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
          </xsl:call-template>
    Packit 423ecb
          <xsl:text> </xsl:text>
    Packit 423ecb
          <xsl:value-of select="@name"/>
    Packit 423ecb
          <xsl:if test="position() != last()">
    Packit 423ecb
            <xsl:text>, </xsl:text>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 8">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 0">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:text>					 </xsl:text>
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
        <xsl:text>)
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
        

    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="info"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        

    Packit 423ecb
        <xsl:if test="arg | return">
    Packit 423ecb
          
    Packit 423ecb
          <xsl:for-each select="arg">
    Packit 423ecb
            
    Packit 423ecb
              <tt><xsl:value-of select="@name"/></tt>:
    Packit 423ecb
    	  
    Packit 423ecb
    	    <xsl:call-template name="dumptext">
    Packit 423ecb
    	      <xsl:with-param name="text" select="@info"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
            
    Packit 423ecb
          </xsl:for-each>
    Packit 423ecb
          <xsl:if test="return/@info">
    Packit 423ecb
            
    Packit 423ecb
              <tt>Returns</tt>:
    Packit 423ecb
    	  
    Packit 423ecb
    	    <xsl:call-template name="dumptext">
    Packit 423ecb
    	      <xsl:with-param name="text" select="return/@info"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
            
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
          
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="function">
    Packit 423ecb
        <xsl:variable name="name" select="string(@name)"/>
    Packit 423ecb
        <xsl:variable name="nlen" select="string-length($name)"/>
    Packit 423ecb
        <xsl:variable name="tlen" select="string-length(return/@type)"/>
    Packit 423ecb
        <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
    Packit 423ecb
        

    Function: <xsl:value-of select="$name"/>

    Packit 423ecb
        
    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="return/@type"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        <xsl:text>	</xsl:text>
    Packit 423ecb
        <xsl:value-of select="@name"/>
    Packit 423ecb
        <xsl:if test="$blen - 40 < -8">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:if test="$blen - 40 < 0">
    Packit 423ecb
          <xsl:text>	</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:text>	(</xsl:text>
    Packit 423ecb
        <xsl:if test="not(arg)">
    Packit 423ecb
          <xsl:text>void</xsl:text>
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:for-each select="arg">
    Packit 423ecb
          <xsl:call-template name="dumptext">
    Packit 423ecb
            <xsl:with-param name="text" select="@type"/>
    Packit 423ecb
          </xsl:call-template>
    Packit 423ecb
          <xsl:text> </xsl:text>
    Packit 423ecb
          <xsl:value-of select="@name"/>
    Packit 423ecb
          <xsl:if test="position() != last()">
    Packit 423ecb
            <xsl:text>, </xsl:text>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 8">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:if test="$blen - 40 > 0">
    Packit 423ecb
    	  <xsl:text>	</xsl:text>
    Packit 423ecb
    	</xsl:if>
    Packit 423ecb
    	<xsl:text>					 </xsl:text>
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
        </xsl:for-each>
    Packit 423ecb
        <xsl:text>)</xsl:text>
    Packit 423ecb
        <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        
    Packit 423ecb
        

    Packit 423ecb
        <xsl:call-template name="dumptext">
    Packit 423ecb
          <xsl:with-param name="text" select="info"/>
    Packit 423ecb
        </xsl:call-template>
    Packit 423ecb
        

    <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
        <xsl:if test="arg | return/@info">
    Packit 423ecb
          
    Packit 423ecb
          <xsl:for-each select="arg">
    Packit 423ecb
            
    Packit 423ecb
              <tt><xsl:value-of select="@name"/></tt>:
    Packit 423ecb
    	  
    Packit 423ecb
    	    <xsl:call-template name="dumptext">
    Packit 423ecb
    	      <xsl:with-param name="text" select="@info"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
            
    Packit 423ecb
          </xsl:for-each>
    Packit 423ecb
          <xsl:if test="return/@info">
    Packit 423ecb
            
    Packit 423ecb
              <tt>Returns</tt>:
    Packit 423ecb
    	  
    Packit 423ecb
    	    <xsl:call-template name="dumptext">
    Packit 423ecb
    	      <xsl:with-param name="text" select="return/@info"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
            
    Packit 423ecb
          </xsl:if>
    Packit 423ecb
          
    Packit 423ecb
        </xsl:if>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="exports" mode="toc">
    Packit 423ecb
        <xsl:apply-templates select="key('symbols', string(@symbol))[1]" mode="toc"/>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="exports">
    Packit 423ecb
        <xsl:apply-templates select="key('symbols', string(@symbol))[1]"/>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template name="description">
    Packit 423ecb
        <xsl:if test="deprecated">
    Packit 423ecb
          

    This module is deprecated

    Packit 423ecb
        </xsl:if>
    Packit 423ecb
        <xsl:if test="description">
    Packit 423ecb
          

    <xsl:value-of select="description"/>

    Packit 423ecb
        </xsl:if>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
    Packit 423ecb
      <xsl:template name="docomponents">
    Packit 423ecb
        <xsl:param name="mode"/>
    Packit 423ecb
        <xsl:apply-templates select="exports[@type='macro']" mode="$mode">
    Packit 423ecb
          <xsl:sort select='@symbol'/>
    Packit 423ecb
        </xsl:apply-templates>
    Packit 423ecb
        <xsl:apply-templates select="exports[@type='enum']" mode="$mode">
    Packit 423ecb
          <xsl:sort select='@symbol'/>
    Packit 423ecb
        </xsl:apply-templates>
    Packit 423ecb
        <xsl:apply-templates select="exports[@type='typedef']" mode="$mode">
    Packit 423ecb
          <xsl:sort select='@symbol'/>
    Packit 423ecb
        </xsl:apply-templates>
    Packit 423ecb
        <xsl:apply-templates select="exports[@type='struct']" mode="$mode">
    Packit 423ecb
          <xsl:sort select='@symbol'/>
    Packit 423ecb
        </xsl:apply-templates>
    Packit 423ecb
        <xsl:apply-templates select="exports[@type='function']" mode="$mode">
    Packit 423ecb
          <xsl:sort select='@symbol'/>
    Packit 423ecb
        </xsl:apply-templates>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    -->
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="file">
    Packit 423ecb
        <xsl:variable name="name" select="@name"/>
    Packit 423ecb
        <xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
    Packit 423ecb
        
    Packit 423ecb
          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
    Packit 423ecb
          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    Packit 423ecb
    	<html>
    Packit 423ecb
    	  <head>
    Packit 423ecb
    	    <xsl:call-template name="style"/>
    Packit 423ecb
    	    <xsl:call-template name="docstyle"/>
    Packit 423ecb
    	    <title><xsl:value-of select="$title"/></title>
    Packit 423ecb
    	  </head>
    Packit 423ecb
    	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
    Packit 423ecb
    	    <xsl:call-template name="titlebox">
    Packit 423ecb
    	      <xsl:with-param name="title" select="$title"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
    	    
    Packit 423ecb
    	      
    Packit 423ecb
    		
    Packit 423ecb
    		  
    Packit 423ecb
    		    
    Packit 423ecb
    		      <xsl:call-template name="apitoc"/>
    Packit 423ecb
    		    
    Packit 423ecb
    		    
    Packit 423ecb
    		      
    Packit 423ecb
    			
    Packit 423ecb
    			  
    Packit 423ecb
    			    
    Packit 423ecb
    			      
    Packit 423ecb
    				
    Packit 423ecb
    				  
    Packit 423ecb
    				    
    Packit 423ecb
    				      
    Packit 423ecb
    	    <xsl:call-template name="navbar"/>
    Packit 423ecb
    	    <xsl:call-template name="description"/>
    Packit 423ecb
    	    <xsl:choose>
    Packit 423ecb
    	      <xsl:when test="deprecated">
    Packit 423ecb
    	        
    Packit 423ecb
    		  

    Table of Contents

    Packit 423ecb
    		  <xsl:apply-templates select="exports" mode="toc"/>
    Packit 423ecb
    		  

    Description

    Packit 423ecb
    		  <xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
    		  <xsl:apply-templates select="exports"/>
    Packit 423ecb
    		
    Packit 423ecb
    	      </xsl:when>
    Packit 423ecb
    	      <xsl:otherwise>
    Packit 423ecb
    		

    Table of Contents

    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='macro']" mode="toc">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='enum']" mode="toc">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='typedef']" mode="toc">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='struct']" mode="toc">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='function']" mode="toc">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		

    Description

    Packit 423ecb
    		<xsl:text>
    Packit 423ecb
    </xsl:text>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='macro']">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='enum']">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='typedef']">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='struct']">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    		<xsl:apply-templates select="exports[@type='function']">
    Packit 423ecb
    		  <xsl:sort select='@symbol'/>
    Packit 423ecb
    		</xsl:apply-templates>
    Packit 423ecb
    	      </xsl:otherwise>
    Packit 423ecb
    	    </xsl:choose>
    Packit 423ecb
    					

    Daniel Veillard

    Packit 423ecb
    				      
    Packit 423ecb
    				    
    Packit 423ecb
    				  
    Packit 423ecb
    				
    Packit 423ecb
    			      
    Packit 423ecb
    			    
    Packit 423ecb
    			  
    Packit 423ecb
    			
    Packit 423ecb
    		      
    Packit 423ecb
    		    
    Packit 423ecb
    		  
    Packit 423ecb
    		
    Packit 423ecb
    	      
    Packit 423ecb
    	    
    Packit 423ecb
    	  
    Packit 423ecb
    	  </body>
    Packit 423ecb
    	</html>
    Packit 423ecb
        </xsl:document>
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template match="file" mode="toc">
    Packit 423ecb
        <xsl:variable name="name" select="@name"/>
    Packit 423ecb
        
  • Packit 423ecb
          <xsl:value-of select="$name"/>
    Packit 423ecb
          <xsl:text>: </xsl:text>
    Packit 423ecb
          <xsl:value-of select="summary"/>
    Packit 423ecb
        
    Packit 423ecb
      </xsl:template>
    Packit 423ecb
    Packit 423ecb
      <xsl:template name="mainpage">
    Packit 423ecb
        <xsl:param name="file" select="concat($htmldir, '/index.html')"/>
    Packit 423ecb
        <xsl:variable name="title">Reference Manual for <xsl:value-of select="/api/@name"/></xsl:variable>
    Packit 423ecb
        
    Packit 423ecb
          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
    Packit 423ecb
          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    Packit 423ecb
    	<html>
    Packit 423ecb
    	  <head>
    Packit 423ecb
    	    <xsl:call-template name="style"/>
    Packit 423ecb
    	    <xsl:call-template name="docstyle"/>
    Packit 423ecb
    	    <title><xsl:value-of select="$title"/></title>
    Packit 423ecb
    	  </head>
    Packit 423ecb
    	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
    Packit 423ecb
    	    <xsl:call-template name="titlebox">
    Packit 423ecb
    	      <xsl:with-param name="title" select="$title"/>
    Packit 423ecb
    	    </xsl:call-template>
    Packit 423ecb
    	  
    Packit 423ecb
    	    
    Packit 423ecb
    	      
    Packit 423ecb
    		
    Packit 423ecb
    		  
    Packit 423ecb
    		    
    Packit 423ecb
    		      <xsl:call-template name="apitoc"/>
    Packit 423ecb
    		    
    Packit 423ecb
    		    
    Packit 423ecb
    		      
    Packit 423ecb
    			
    Packit 423ecb
    			  
    Packit 423ecb
    			    
    Packit 423ecb
    			      
    Packit 423ecb
    				
    Packit 423ecb
    				  
    Packit 423ecb
    				    
    Packit 423ecb
    				      
    Packit 423ecb
    	    

    Table of Contents

    Packit 423ecb
    	    
      Packit 423ecb
      	    <xsl:apply-templates select="/api/files/file" mode="toc"/>
      Packit 423ecb
      	    
      Packit 423ecb
      					

      Daniel Veillard

      Packit 423ecb
      				      
      Packit 423ecb
      				    
      Packit 423ecb
      				  
      Packit 423ecb
      				
      Packit 423ecb
      			      
      Packit 423ecb
      			    
      Packit 423ecb
      			  
      Packit 423ecb
      			
      Packit 423ecb
      		      
      Packit 423ecb
      		    
      Packit 423ecb
      		  
      Packit 423ecb
      		
      Packit 423ecb
      	      
      Packit 423ecb
      	    
      Packit 423ecb
      	  
      Packit 423ecb
      	  </body>
      Packit 423ecb
      	</html>
      Packit 423ecb
          </xsl:document>
      Packit 423ecb
        </xsl:template>
      Packit 423ecb
      Packit 423ecb
        <xsl:template match="/">
      Packit 423ecb
          
      Packit 423ecb
          <xsl:call-template name="mainpage"/>
      Packit 423ecb
          <xsl:call-template name="mainpage">
      Packit 423ecb
            <xsl:with-param name="file" select="concat($htmldir, '/book1.html')"/>
      Packit 423ecb
          </xsl:call-template>
      Packit 423ecb
          <xsl:call-template name="mainpage">
      Packit 423ecb
            <xsl:with-param name="file" select="concat($htmldir, '/libxml-lib.html')"/>
      Packit 423ecb
          </xsl:call-template>
      Packit 423ecb
          
      Packit 423ecb
          <xsl:apply-templates select="/api/files/file"/>
      Packit 423ecb
        </xsl:template>
      Packit 423ecb
      Packit 423ecb
      </xsl:stylesheet>