Blame doc/examples/examples.xsl

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
  extension-element-prefixes="exsl"
Packit Service a31ea6
  exclude-result-prefixes="exsl">
Packit Service a31ea6
Packit Service a31ea6
  <xsl:import href="../site.xsl"/>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:variable name="href_base">../</xsl:variable>
Packit Service a31ea6
  <xsl:variable name="menu_name">Examples Menu</xsl:variable>
Packit Service a31ea6
Packit Service a31ea6
  <xsl:variable name="toc">
Packit Service a31ea6
    
Packit Service a31ea6
          enctype="application/x-www-form-urlencoded" method="get">
Packit Service a31ea6
      <input name="query" type="text" size="20" value=""/>
Packit Service a31ea6
      <input name="submit" type="submit" value="Search ..."/>
Packit Service a31ea6
    </form>
Packit Service a31ea6
    
    Packit Service a31ea6
          
  • Home
  • Packit Service a31ea6
          
  • Packit Service a31ea6
                 href="{$href_base}docs.html">Developer Menu
    Packit Service a31ea6
          
  • Packit Service a31ea6
                 href="{$href_base}html/index.html">API Menu
    Packit Service a31ea6
          <xsl:for-each select="/examples/sections/section">
    Packit Service a31ea6
            
  • <xsl:value-of select="@name"/> Examples
  • Packit Service a31ea6
          </xsl:for-each>
    Packit Service a31ea6
          
  • XML Guidelines
  • Packit Service a31ea6
        
    Packit Service a31ea6
      </xsl:variable>
    Packit Service a31ea6
    Packit Service a31ea6
      <xsl:template match="include">
    Packit Service a31ea6
        <xsl:variable name="header" select="substring-before(substring-after(., '/'), '>')"/>
    Packit Service a31ea6
        <xsl:variable name="doc" select="concat('../html/libxml-', $header, 'tml')"/>
    Packit Service a31ea6
        
  • <xsl:value-of select="."/>
  • Packit Service a31ea6
      </xsl:template>
    Packit Service a31ea6
    Packit Service a31ea6
      <xsl:template match="typedef">
    Packit Service a31ea6
        <xsl:variable name="name" select="@name"/>
    Packit Service a31ea6
        <xsl:variable name="header" select="concat(@file, '.h')"/>
    Packit Service a31ea6
        <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
    Packit Service a31ea6
        
  • line <xsl:value-of select="@line"/>: Type <xsl:value-of select="$name"/> from <xsl:value-of select="$header"/>
  • Packit Service a31ea6
      </xsl:template>
    Packit Service a31ea6
    Packit Service a31ea6
      <xsl:template match="function">
    Packit Service a31ea6
        <xsl:variable name="name" select="@name"/>
    Packit Service a31ea6
        <xsl:variable name="header" select="concat(@file, '.h')"/>
    Packit Service a31ea6
        <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
    Packit Service a31ea6
        
  • line <xsl:value-of select="@line"/>: Function <xsl:value-of select="$name"/> from <xsl:value-of select="$header"/>
  • Packit Service a31ea6
      </xsl:template>
    Packit Service a31ea6
    Packit Service a31ea6
      <xsl:template match="macro">
    Packit Service a31ea6
        <xsl:variable name="name" select="@name"/>
    Packit Service a31ea6
        <xsl:variable name="header" select="concat(@file, '.h')"/>
    Packit Service a31ea6
        <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
    Packit Service a31ea6
        
  • line <xsl:value-of select="@line"/>: Macro <xsl:value-of select="$name"/> from <xsl:value-of select="$header"/>
  • Packit Service a31ea6
      </xsl:template>
    Packit Service a31ea6
    Packit Service a31ea6
      <xsl:template match="example">
    Packit Service a31ea6
        <xsl:variable name="filename" select="string(@filename)"/>
    Packit Service a31ea6
        

    <xsl:value-of select="$filename"/>: <xsl:value-of select="synopsis"/>

    Packit Service a31ea6
        

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

    Packit Service a31ea6
        

    Includes:

    Packit Service a31ea6
        
      Packit Service a31ea6
          <xsl:for-each select="includes/include">
      Packit Service a31ea6
            <xsl:apply-templates select='.'/>
      Packit Service a31ea6
          </xsl:for-each>
      Packit Service a31ea6
          
      Packit Service a31ea6
          

      Uses:

      Packit Service a31ea6
          
        Packit Service a31ea6
            <xsl:for-each select="uses/*">
        Packit Service a31ea6
              <xsl:sort select="@line" data-type="number"/>
        Packit Service a31ea6
              <xsl:apply-templates select='.'/>
        Packit Service a31ea6
            </xsl:for-each>
        Packit Service a31ea6
            
        Packit Service a31ea6
            

        Usage:

        Packit Service a31ea6
            

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

        Packit Service a31ea6
            

        Author: <xsl:value-of select="author"/>

        Packit Service a31ea6
          </xsl:template>
        Packit Service a31ea6
        Packit Service a31ea6
          <xsl:template match="section">
        Packit Service a31ea6
            
      • <xsl:value-of select="@name"/> :

      • Packit Service a31ea6
            
          Packit Service a31ea6
              <xsl:for-each select="example">
          Packit Service a31ea6
                <xsl:sort select='.'/>
          Packit Service a31ea6
                <xsl:variable name="filename" select="@filename"/>
          Packit Service a31ea6
                
        • <xsl:value-of select="$filename"/>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/>
        • Packit Service a31ea6
              </xsl:for-each>
          Packit Service a31ea6
              
          Packit Service a31ea6
              
          Packit Service a31ea6
            </xsl:template>
          Packit Service a31ea6
          Packit Service a31ea6
            <xsl:template match="sections">
          Packit Service a31ea6
              

          The examples are stored per section depending on the main focus

          Packit Service a31ea6
              of the example:

          Packit Service a31ea6
              
            Packit Service a31ea6
                <xsl:for-each select="section">
            Packit Service a31ea6
                  <xsl:sort select='.'/>
            Packit Service a31ea6
                  <xsl:apply-templates select='.'/>
            Packit Service a31ea6
                </xsl:for-each>
            Packit Service a31ea6
                
            Packit Service a31ea6
                

            Getting the compilation options and libraries dependancies needed

            Packit Service a31ea6
            to generate binaries from the examples is best done on Linux/Unix by using
            Packit Service a31ea6
            the xml2-config script which should have been installed as part of make
            Packit Service a31ea6
            install step or when installing the libxml2 development package:

            Packit Service a31ea6
            gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`
            Packit Service a31ea6
              </xsl:template>
            Packit Service a31ea6
            Packit Service a31ea6
              <xsl:template name="sections-list">
            Packit Service a31ea6
                <xsl:for-each select="sections/section">
            Packit Service a31ea6
                  <xsl:variable name="section" select="@name"/>
            Packit Service a31ea6
                  

            <xsl:value-of select="$section"/> Examples

            Packit Service a31ea6
                  <xsl:apply-templates select='/examples/example[section = $section]'/>
            Packit Service a31ea6
                </xsl:for-each>
            Packit Service a31ea6
              </xsl:template>
            Packit Service a31ea6
            Packit Service a31ea6
              <xsl:template match="examples">
            Packit Service a31ea6
                <xsl:variable name="title">Libxml2 set of examples</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
                  <html>
            Packit Service a31ea6
                    <head>
            Packit Service a31ea6
                    <xsl:call-template name="style"/>
            Packit Service a31ea6
            	<xsl:element name="title">
            Packit Service a31ea6
            	  <xsl:value-of select="$title"/>
            Packit Service a31ea6
            	</xsl:element>
            Packit Service a31ea6
                    </head>
            Packit Service a31ea6
                    <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
            Packit Service a31ea6
                      <xsl:call-template name="titlebox">
            Packit Service a31ea6
            	    <xsl:with-param name="title" select="$title"/>
            Packit Service a31ea6
            	  </xsl:call-template>
            Packit Service a31ea6
                      
            Packit Service a31ea6
                        
            Packit Service a31ea6
                          
            Packit Service a31ea6
                            
            Packit Service a31ea6
                              
            Packit Service a31ea6
                                
            Packit Service a31ea6
                                  <xsl:call-template name="toc"/>
            Packit Service a31ea6
                                
            Packit Service a31ea6
                                
            Packit Service a31ea6
                                  
            Packit Service a31ea6
                                    
            Packit Service a31ea6
                                      
            Packit Service a31ea6
                                        
            Packit Service a31ea6
                                          
            Packit Service a31ea6
                                            
            Packit Service a31ea6
                                              
            Packit Service a31ea6
                                                
            Packit Service a31ea6
                                                  
            Packit Service a31ea6
            				        <xsl:apply-templates select="sections"/>
            Packit Service a31ea6
            					<xsl:call-template name="sections-list"/>
            Packit Service a31ea6
            					

            Daniel Veillard

            Packit Service a31ea6
                                                  
            Packit Service a31ea6
                                                
            Packit Service a31ea6
                                              
            Packit Service a31ea6
                                            
            Packit Service a31ea6
                                          
            Packit Service a31ea6
                                        
            Packit Service a31ea6
                                      
            Packit Service a31ea6
                                    
            Packit Service a31ea6
                                  
            Packit Service a31ea6
                                
            Packit Service a31ea6
                              
            Packit Service a31ea6
                            
            Packit Service a31ea6
                          
            Packit Service a31ea6
                        
            Packit Service a31ea6
                      
            Packit Service a31ea6
                    </body>
            Packit Service a31ea6
                  </html>
            Packit Service a31ea6
                </xsl:document>
            Packit Service a31ea6
              </xsl:template>
            Packit Service a31ea6
            Packit Service a31ea6
            </xsl:stylesheet>