Blame doc/api.xsl

Packit 423ecb
Packit 423ecb
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
  extension-element-prefixes="exsl"
Packit 423ecb
  exclude-result-prefixes="exsl">
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
  <xsl:variable name="href_base" select="''"/>
Packit 423ecb
  <xsl:variable name="apirefs" select="document('libxml2-refs.xml')"/>
Packit 423ecb
  <xsl:variable name="module" select="$apirefs/apirefs/@name"/>
Packit 423ecb
  <xsl:key name="refhref" match="reference" use="@name"/>
Packit 423ecb
Packit 423ecb
  <xsl:template match="ref" mode="anchor">
Packit 423ecb
    <xsl:variable name="name" select="@name"/>
Packit 423ecb
    <xsl:for-each select="document('libxml2-refs.xml')">
Packit 423ecb
	<xsl:value-of select="$name"/>
Packit 423ecb
    </xsl:for-each>
Packit 423ecb
  </xsl:template>
Packit 423ecb
  <xsl:template match="type" mode="reflist">
Packit 423ecb
    

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

Packit 423ecb
    

Packit 423ecb
      <xsl:for-each select="ref">
Packit 423ecb
        <xsl:apply-templates mode="anchor" select="."/>
Packit 423ecb
	<xsl:text>
Packit 423ecb
</xsl:text>
Packit 423ecb
      </xsl:for-each>
Packit 423ecb
    

Packit 423ecb
  </xsl:template>
Packit 423ecb
  <xsl:template match="letter" mode="reflist">
Packit 423ecb
    

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

Packit 423ecb
    

Packit 423ecb
      <xsl:for-each select="ref">
Packit 423ecb
        <xsl:apply-templates mode="anchor" select="."/>
Packit 423ecb
	<xsl:text>
Packit 423ecb
</xsl:text>
Packit 423ecb
      </xsl:for-each>
Packit 423ecb
    

Packit 423ecb
  </xsl:template>
Packit 423ecb
  <xsl:template match="file" mode="reflist">
Packit 423ecb
    

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

Packit 423ecb
    

Packit 423ecb
      <xsl:for-each select="ref">
Packit 423ecb
        <xsl:apply-templates mode="anchor" select="."/>
Packit 423ecb
	<xsl:text>
Packit 423ecb
</xsl:text>
Packit 423ecb
      </xsl:for-each>
Packit 423ecb
    

Packit 423ecb
  </xsl:template>
Packit 423ecb
  <xsl:template match="letter" mode="wordlist">
Packit 423ecb
    

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

Packit 423ecb
    
Packit 423ecb
      <xsl:for-each select="word">
Packit 423ecb
        
<xsl:value-of select="@name"/>
Packit 423ecb
	
Packit 423ecb
	<xsl:for-each select="ref">
Packit 423ecb
	  <xsl:apply-templates mode="anchor" select="."/>
Packit 423ecb
	  <xsl:text>
Packit 423ecb
</xsl:text>
Packit 423ecb
	</xsl:for-each>
Packit 423ecb
	
Packit 423ecb
      </xsl:for-each>
Packit 423ecb
    
Packit 423ecb
  </xsl:template>
Packit 423ecb
Packit 423ecb
  <xsl:template match="constructors">
Packit 423ecb
    <xsl:message>Generating API Constructors</xsl:message>
Packit 423ecb
    <xsl:variable name="title">List of constructors for <xsl:value-of select="$module"/></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:element name="title">
Packit 423ecb
	  <xsl:value-of select="$title"/>
Packit 423ecb
	</xsl:element>
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="develtoc"/>
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:apply-templates mode="reflist" select="type"/>
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
  <xsl:template match="files">
Packit 423ecb
    <xsl:message>Generating API List of synbols per file</xsl:message>
Packit 423ecb
    <xsl:variable name="title">List of Symbols per Module for <xsl:value-of select="$module"/></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:element name="title">
Packit 423ecb
	  <xsl:value-of select="$title"/>
Packit 423ecb
	</xsl:element>
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="develtoc"/>
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:apply-templates mode="reflist" select="file"/>
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
  <xsl:template match="functions">
Packit 423ecb
    <xsl:message>Generating API Functions by Type</xsl:message>
Packit 423ecb
    <xsl:variable name="title">List of function manipulating types in <xsl:value-of select="$module"/></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:element name="title">
Packit 423ecb
	  <xsl:value-of select="$title"/>
Packit 423ecb
	</xsl:element>
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="develtoc"/>
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:apply-templates mode="reflist" select="type"/>
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
  <xsl:template match="alpha">
Packit 423ecb
    <xsl:message>Generating API Alphabetic list</xsl:message>
Packit 423ecb
    <xsl:variable name="title">Alphabetic List of Symbols in <xsl:value-of select="$module"/></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:element name="title">
Packit 423ecb
	  <xsl:value-of select="$title"/>
Packit 423ecb
	</xsl:element>
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="develtoc"/>
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:apply-templates mode="reflist" select="letter"/>
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
  <xsl:template name="apichunks">
Packit 423ecb
    

Packit 423ecb
    <xsl:for-each select="/apirefs/index/chunks/chunk">
Packit 423ecb
      <xsl:variable name="name" select="@name"/>
Packit 423ecb
      <xsl:variable name="start" select="@start"/>
Packit 423ecb
      <xsl:variable name="end" select="@end"/>
Packit 423ecb
      <xsl:variable name="block" select="concat($start, '-', $end)"/>
Packit 423ecb
      <xsl:value-of select="$block"/>
Packit 423ecb
      <xsl:text>
Packit 423ecb
</xsl:text>
Packit 423ecb
    </xsl:for-each>
Packit 423ecb
    
Packit 423ecb
  </xsl:template>
Packit 423ecb
  <xsl:template match="chunk">
Packit 423ecb
    <xsl:variable name="name" select="@name"/>
Packit 423ecb
    <xsl:variable name="start" select="@start"/>
Packit 423ecb
    <xsl:variable name="end" select="@end"/>
Packit 423ecb
    <xsl:variable name="block" select="concat($start, '-', $end)"/>
Packit 423ecb
    <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/>
Packit 423ecb
    <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></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:element name="title">
Packit 423ecb
	  <xsl:value-of select="$title"/>
Packit 423ecb
	</xsl:element>
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="develtoc"/>
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="apichunks"/>
Packit 423ecb
				        
Packit 423ecb
					           select="$target/letter"/>
Packit 423ecb
				        <xsl:call-template name="apichunks"/>
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="index">
Packit 423ecb
    <xsl:message>Generating API Index</xsl:message>
Packit 423ecb
    <xsl:apply-templates select="chunks/chunk"/>
Packit 423ecb
  </xsl:template>
Packit 423ecb
Packit 423ecb
  <xsl:template match="apirefs">
Packit 423ecb
    <xsl:message>Generating API Cross References</xsl:message>
Packit 423ecb
    <xsl:apply-templates select="constructors"/>
Packit 423ecb
    <xsl:apply-templates select="functions"/>
Packit 423ecb
    <xsl:apply-templates select="alpha"/>
Packit 423ecb
    <xsl:apply-templates select="files"/>
Packit 423ecb
    <xsl:apply-templates select="index"/>
Packit 423ecb
  </xsl:template>
Packit 423ecb
Packit 423ecb
  <xsl:template match="/">
Packit 423ecb
    <xsl:apply-templates select="$apirefs/apirefs"/>
Packit 423ecb
  </xsl:template>
Packit 423ecb
Packit 423ecb
</xsl:stylesheet>