Blame doc/wiki.xsl

Packit Service a31ea6
Packit Service a31ea6
Packit Service a31ea6
  Stylesheet to generate the HTML documentation from an XML API descriptions:
Packit Service a31ea6
  xsltproc wiki.xsl libxml2-api.xml
Packit Service a31ea6
Packit Service a31ea6
  Daniel Veillard
Packit Service a31ea6
-->
Packit Service a31ea6
Packit Service a31ea6
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Packit Service a31ea6
  xmlns:exsl="http://exslt.org/common"
Packit Service a31ea6
  xmlns:str="http://exslt.org/strings"
Packit Service a31ea6
  extension-element-prefixes="exsl str"
Packit Service a31ea6
  exclude-result-prefixes="exsl str">
Packit Service a31ea6
Packit Service a31ea6
  
Packit Service a31ea6
  
Packit Service a31ea6
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
Packit Service a31ea6
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
Packit Service a31ea6
Packit Service a31ea6
  
Packit Service a31ea6
  <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
Packit Service a31ea6
Packit Service a31ea6
  
Packit Service a31ea6
  <xsl:variable name="htmldir">wiki</xsl:variable>
Packit Service a31ea6
  <xsl:variable name="href_base">../</xsl:variable>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template name="style">
Packit Service a31ea6
    <link rel="SHORTCUT ICON" href="/favicon.ico"/> 
Packit Service a31ea6
    <style type="text/css">
Packit Service a31ea6
TD {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
Packit Service a31ea6
H1 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
H2 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
H3 {font-family: Verdana,Arial,Helvetica}
Packit Service a31ea6
A:link, A:visited, A:active { text-decoration: underline }
Packit Service a31ea6
</style>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template name="docstyle">
Packit Service a31ea6
    <style type="text/css">
Packit Service a31ea6
      div.deprecated pre.programlisting {border-style: double;border-color:red}
Packit Service a31ea6
      pre.programlisting {border-style: double;}
Packit Service a31ea6
    </style>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  
Packit Service a31ea6
       be the API one and not the result tree from the tokenize() result,
Packit Service a31ea6
       because the keys are only defined on the main document -->
Packit Service a31ea6
  <xsl:template mode="dumptoken" match='*'>
Packit Service a31ea6
    <xsl:param name="token"/>
Packit Service a31ea6
    <xsl:variable name="ref" select="key('symbols', $token)"/>
Packit Service a31ea6
    <xsl:choose>
Packit Service a31ea6
      <xsl:when test="$ref">
Packit Service a31ea6
        <xsl:value-of select="$token"/>
Packit Service a31ea6
      </xsl:when>
Packit Service a31ea6
      <xsl:otherwise>
Packit Service a31ea6
        <xsl:value-of select="$token"/>
Packit Service a31ea6
      </xsl:otherwise>
Packit Service a31ea6
    </xsl:choose>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  
Packit Service a31ea6
  <xsl:template name="dumptext">
Packit Service a31ea6
    <xsl:param name="text"/>
Packit Service a31ea6
    <xsl:variable name="ctxt" select='.'/>
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:for-each select="str:tokenize($text, ' 	')">
Packit Service a31ea6
      <xsl:apply-templates select="$ctxt" mode='dumptoken'>
Packit Service a31ea6
        <xsl:with-param name="token" select="string(.)"/>
Packit Service a31ea6
      </xsl:apply-templates>
Packit Service a31ea6
      <xsl:if test="position() != last()">
Packit Service a31ea6
        <xsl:text> </xsl:text>
Packit Service a31ea6
      </xsl:if>
Packit Service a31ea6
    </xsl:for-each>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="macro" mode="toc">
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:text>#define </xsl:text><xsl:value-of select="@name"/>
Packit Service a31ea6
    
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="variable" mode="toc">
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:text>Variable </xsl:text>
Packit Service a31ea6
    <xsl:call-template name="dumptext">
Packit Service a31ea6
      <xsl:with-param name="text" select="string(@type)"/>
Packit Service a31ea6
    </xsl:call-template>
Packit Service a31ea6
    <xsl:text> </xsl:text>
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:value-of select="@name"/>
Packit Service a31ea6
    <xsl:text>
Packit Service a31ea6
Packit Service a31ea6
</xsl:text>
Packit Service a31ea6
    
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="typedef" mode="toc">
Packit Service a31ea6
    <xsl:variable name="name" select="string(@name)"/>
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:choose>
Packit Service a31ea6
      <xsl:when test="@type = 'enum'">
Packit Service a31ea6
	<xsl:text>Enum </xsl:text>
Packit Service a31ea6
	<xsl:value-of select="$name"/>
Packit Service a31ea6
	<xsl:text>
Packit Service a31ea6
</xsl:text>
Packit Service a31ea6
      </xsl:when>
Packit Service a31ea6
      <xsl:otherwise>
Packit Service a31ea6
	<xsl:text>Typedef </xsl:text>
Packit Service a31ea6
	<xsl:call-template name="dumptext">
Packit Service a31ea6
	  <xsl:with-param name="text" select="@type"/>
Packit Service a31ea6
	</xsl:call-template>
Packit Service a31ea6
	<xsl:text> </xsl:text>
Packit Service a31ea6
	<xsl:value-of select="$name"/>
Packit Service a31ea6
	<xsl:text>
Packit Service a31ea6
</xsl:text>
Packit Service a31ea6
      </xsl:otherwise>
Packit Service a31ea6
    </xsl:choose>
Packit Service a31ea6
    
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="typedef[@type = 'enum']">
Packit Service a31ea6
    <xsl:variable name="name" select="string(@name)"/>
Packit Service a31ea6
    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This module is deprecated

Packit Service a31ea6
    </xsl:if>
Packit Service a31ea6
    <xsl:if test="description">
Packit Service a31ea6
      

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

Packit Service a31ea6
    </xsl:if>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template name="docomponents">
Packit Service a31ea6
    <xsl:param name="mode"/>
Packit Service a31ea6
    <xsl:apply-templates select="exports[@type='macro']" mode="$mode">
Packit Service a31ea6
      <xsl:sort select='@symbol'/>
Packit Service a31ea6
    </xsl:apply-templates>
Packit Service a31ea6
    <xsl:apply-templates select="exports[@type='enum']" mode="$mode">
Packit Service a31ea6
      <xsl:sort select='@symbol'/>
Packit Service a31ea6
    </xsl:apply-templates>
Packit Service a31ea6
    <xsl:apply-templates select="exports[@type='typedef']" mode="$mode">
Packit Service a31ea6
      <xsl:sort select='@symbol'/>
Packit Service a31ea6
    </xsl:apply-templates>
Packit Service a31ea6
    <xsl:apply-templates select="exports[@type='struct']" mode="$mode">
Packit Service a31ea6
      <xsl:sort select='@symbol'/>
Packit Service a31ea6
    </xsl:apply-templates>
Packit Service a31ea6
    <xsl:apply-templates select="exports[@type='function']" mode="$mode">
Packit Service a31ea6
      <xsl:sort select='@symbol'/>
Packit Service a31ea6
    </xsl:apply-templates>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
  
Packit Service a31ea6
  <xsl:template match="file">
Packit Service a31ea6
    <xsl:variable name="name" select="@name"/>
Packit Service a31ea6
    <xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
Packit Service a31ea6
    
Packit Service a31ea6
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
Packit Service a31ea6
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Packit Service a31ea6
	    <xsl:call-template name="style"/>
Packit Service a31ea6
	    <xsl:call-template name="docstyle"/>
Packit Service a31ea6
      
Packit Service a31ea6
        
Packit Service a31ea6
          
Packit Service a31ea6
	    <xsl:call-template name="description"/>
Packit Service a31ea6
	    <xsl:choose>
Packit Service a31ea6
	      <xsl:when test="deprecated">
Packit Service a31ea6
	        
Packit Service a31ea6
		  

Table of Contents

Packit Service a31ea6
		  <xsl:apply-templates select="exports" mode="toc"/>
Packit Service a31ea6
		  

Description

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

Table of Contents

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

Description

Packit Service a31ea6
		<xsl:text>
Packit Service a31ea6
</xsl:text>
Packit Service a31ea6
		<xsl:apply-templates select="exports[@type='macro']">
Packit Service a31ea6
		  <xsl:sort select='@symbol'/>
Packit Service a31ea6
		</xsl:apply-templates>
Packit Service a31ea6
		<xsl:apply-templates select="exports[@type='enum']">
Packit Service a31ea6
		  <xsl:sort select='@symbol'/>
Packit Service a31ea6
		</xsl:apply-templates>
Packit Service a31ea6
		<xsl:apply-templates select="exports[@type='typedef']">
Packit Service a31ea6
		  <xsl:sort select='@symbol'/>
Packit Service a31ea6
		</xsl:apply-templates>
Packit Service a31ea6
		<xsl:apply-templates select="exports[@type='struct']">
Packit Service a31ea6
		  <xsl:sort select='@symbol'/>
Packit Service a31ea6
		</xsl:apply-templates>
Packit Service a31ea6
		<xsl:apply-templates select="exports[@type='function']">
Packit Service a31ea6
		  <xsl:sort select='@symbol'/>
Packit Service a31ea6
		</xsl:apply-templates>
Packit Service a31ea6
	      </xsl:otherwise>
Packit Service a31ea6
	    </xsl:choose>
Packit Service a31ea6
    
Packit Service a31ea6
  
Packit Service a31ea6
Packit Service a31ea6
    </xsl:document>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="file" mode="toc">
Packit Service a31ea6
    <xsl:variable name="name" select="@name"/>
Packit Service a31ea6
    <xsl:value-of select="$name"/>
Packit Service a31ea6
      <xsl:value-of select="summary"/>
Packit Service a31ea6
      

Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template name="mainpage">
Packit Service a31ea6
    <xsl:param name="file" select="concat($htmldir, '/libxml-index.html')"/>
Packit Service a31ea6
    <xsl:variable name="title">Reference Manual for <xsl:value-of select="/api/@name"/></xsl:variable>
Packit Service a31ea6
    
Packit Service a31ea6
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
Packit Service a31ea6
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Packit Service a31ea6
      <xsl:call-template name="style"/>
Packit Service a31ea6
      <xsl:call-template name="docstyle"/>
Packit Service a31ea6
      
Packit Service a31ea6
        
Packit Service a31ea6
          
Packit Service a31ea6
            <xsl:apply-templates select="/api/files/file" mode="toc"/>
Packit Service a31ea6
          
Packit Service a31ea6
        
Packit Service a31ea6
      
Packit Service a31ea6
    </xsl:document>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:template match="/">
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:call-template name="mainpage"/>
Packit Service a31ea6
    
Packit Service a31ea6
    <xsl:apply-templates select="/api/files/file"/>
Packit Service a31ea6
  </xsl:template>
Packit Service a31ea6
Packit Service a31ea6
</xsl:stylesheet>