Annotation of embedaddon/libxml2/doc/examples/examples.xsl, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0"?>
                      2: <xsl:stylesheet version="1.0"
                      3:   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                      4:   xmlns:exsl="http://exslt.org/common"
                      5:   extension-element-prefixes="exsl"
                      6:   exclude-result-prefixes="exsl">
                      7: 
                      8:   <xsl:import href="../site.xsl"/>
                      9: 
                     10:   <xsl:variable name="href_base">../</xsl:variable>
                     11:   <xsl:variable name="menu_name">Examples Menu</xsl:variable>
                     12: 
                     13:   <xsl:variable name="toc">
                     14:     <form action="../search.php"
                     15:           enctype="application/x-www-form-urlencoded" method="get">
                     16:       <input name="query" type="text" size="20" value=""/>
                     17:       <input name="submit" type="submit" value="Search ..."/>
                     18:     </form>
                     19:     <ul><!-- style="margin-left: -1em" -->
                     20:       <li><a href="{$href_base}index.html">Home</a></li>
                     21:       <li><a style="font-weight:bold" 
                     22:              href="{$href_base}docs.html">Developer Menu</a></li>
                     23:       <li><a style="font-weight:bold" 
                     24:              href="{$href_base}html/index.html">API Menu</a></li>
                     25:       <xsl:for-each select="/examples/sections/section">
                     26:         <li><a href="#{@name}"><xsl:value-of select="@name"/> Examples</a></li>
                     27:       </xsl:for-each>
                     28:       <li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
                     29:     </ul>
                     30:   </xsl:variable>
                     31: 
                     32:   <xsl:template match="include">
                     33:     <xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
                     34:     <xsl:variable name="doc" select="concat('../html/libxml-', $header, 'tml')"/>
                     35:     <li><a href="{$doc}"><xsl:value-of select="."/></a></li>
                     36:   </xsl:template>
                     37: 
                     38:   <xsl:template match="typedef">
                     39:     <xsl:variable name="name" select="@name"/>
                     40:     <xsl:variable name="header" select="concat(@file, '.h')"/>
                     41:     <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
                     42:     <li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
                     43:   </xsl:template>
                     44: 
                     45:   <xsl:template match="function">
                     46:     <xsl:variable name="name" select="@name"/>
                     47:     <xsl:variable name="header" select="concat(@file, '.h')"/>
                     48:     <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
                     49:     <li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
                     50:   </xsl:template>
                     51: 
                     52:   <xsl:template match="macro">
                     53:     <xsl:variable name="name" select="@name"/>
                     54:     <xsl:variable name="header" select="concat(@file, '.h')"/>
                     55:     <xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
                     56:     <li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
                     57:   </xsl:template>
                     58: 
                     59:   <xsl:template match="example">
                     60:     <xsl:variable name="filename" select="string(@filename)"/>
                     61:     <h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
                     62:     <p><xsl:value-of select="purpose"/></p>
                     63:     <p>Includes:</p>
                     64:     <ul>
                     65:     <xsl:for-each select="includes/include">
                     66:       <xsl:apply-templates select='.'/>
                     67:     </xsl:for-each>
                     68:     </ul>
                     69:     <p>Uses:</p>
                     70:     <ul>
                     71:     <xsl:for-each select="uses/*">
                     72:       <xsl:sort select="@line" data-type="number"/>
                     73:       <xsl:apply-templates select='.'/>
                     74:     </xsl:for-each>
                     75:     </ul>
                     76:     <p>Usage:</p>
                     77:     <p><xsl:value-of select="usage"/></p>
                     78:     <p>Author: <xsl:value-of select="author"/></p>
                     79:   </xsl:template>
                     80: 
                     81:   <xsl:template match="section">
                     82:     <li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
                     83:     <ul>
                     84:     <xsl:for-each select="example">
                     85:       <xsl:sort select='.'/>
                     86:       <xsl:variable name="filename" select="@filename"/>
                     87:       <li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
                     88:     </xsl:for-each>
                     89:     </ul>
                     90:     </li>
                     91:   </xsl:template>
                     92: 
                     93:   <xsl:template match="sections">
                     94:     <p> The examples are stored per section depending on the main focus
                     95:     of the example:</p>
                     96:     <ul>
                     97:     <xsl:for-each select="section">
                     98:       <xsl:sort select='.'/>
                     99:       <xsl:apply-templates select='.'/>
                    100:     </xsl:for-each>
                    101:     </ul>
                    102:     <p> Getting the compilation options and libraries dependancies needed
                    103: to generate binaries from the examples is best done on Linux/Unix by using
                    104: the xml2-config script which should have been installed as part of <i>make
                    105: install</i> step or when installing the libxml2 development package:</p>
                    106: <pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
                    107:   </xsl:template>
                    108: 
                    109:   <xsl:template name="sections-list">
                    110:     <xsl:for-each select="sections/section">
                    111:       <xsl:variable name="section" select="@name"/>
                    112:       <h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
                    113:       <xsl:apply-templates select='/examples/example[section = $section]'/>
                    114:     </xsl:for-each>
                    115:   </xsl:template>
                    116: 
                    117:   <xsl:template match="examples">
                    118:     <xsl:variable name="title">Libxml2 set of examples</xsl:variable>
                    119:      <xsl:document href="index.html" method="xml" encoding="ISO-8859-1"
                    120:          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                    121:      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    122:       <html>
                    123:         <head>
                    124:         <xsl:call-template name="style"/>
                    125:        <xsl:element name="title">
                    126:          <xsl:value-of select="$title"/>
                    127:        </xsl:element>
                    128:         </head>
                    129:         <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
                    130:           <xsl:call-template name="titlebox">
                    131:            <xsl:with-param name="title" select="$title"/>
                    132:          </xsl:call-template>
                    133:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                    134:             <tr>
                    135:               <td bgcolor="#8b7765">
                    136:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                    137:                   <tr>
                    138:                     <td valign="top" width="200" bgcolor="#8b7765">
                    139:                       <xsl:call-template name="toc"/>
                    140:                     </td>
                    141:                     <td valign="top" bgcolor="#8b7765">
                    142:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    143:                         <tr>
                    144:                           <td>
                    145:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    146:                               <tr>
                    147:                                 <td>
                    148:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    149:                                     <tr>
                    150:                                       <td bgcolor="#fffacd">
                    151:                                        <xsl:apply-templates select="sections"/>
                    152:                                        <xsl:call-template name="sections-list"/>
                    153:                                        <p><a href="../bugs.html">Daniel Veillard</a></p>
                    154:                                       </td>
                    155:                                     </tr>
                    156:                                   </table>
                    157:                                 </td>
                    158:                               </tr>
                    159:                             </table>
                    160:                           </td>
                    161:                         </tr>
                    162:                       </table>
                    163:                     </td>
                    164:                   </tr>
                    165:                 </table>
                    166:               </td>
                    167:             </tr>
                    168:           </table>
                    169:         </body>
                    170:       </html>
                    171:     </xsl:document>
                    172:   </xsl:template>
                    173: 
                    174: </xsl:stylesheet>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>