/ libxml2 / doc / devhelp / devhelp.xsl
devhelp.xsl
  1  <?xml version="1.0"?>
  2  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  3  		xmlns="http://www.devhelp.net/book"
  4  		xmlns:exsl="http://exslt.org/common"
  5  		xmlns:str="http://exslt.org/strings"
  6  		extension-element-prefixes="exsl str"
  7  		exclude-result-prefixes="exsl str">
  8    <!-- The stylesheet for the html pages -->
  9    <xsl:import href="html.xsl"/>
 10  
 11    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
 12  
 13    <!-- Build keys for all symbols -->
 14    <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
 15  
 16    <xsl:template match="/api">
 17      <book title="{@name} Reference Manual" link="index.html" author="" name="{@name}">
 18        <xsl:apply-templates select="files"/>
 19        <xsl:apply-templates select="symbols"/>
 20      </book>
 21      <xsl:call-template name="generate_index"/>
 22      <xsl:call-template name="generate_general"/>
 23    </xsl:template>
 24    <xsl:template match="/api/files">
 25      <chapters>
 26        <sub name="API" link="general.html">
 27          <xsl:apply-templates select="file"/>
 28        </sub>
 29      </chapters>
 30    </xsl:template>
 31    <xsl:template match="/api/files/file">
 32      <xsl:variable name="module" select="@name"/>
 33      <xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/>
 34      <xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/>
 35      <sub name="{@name}" link="libxml2-{@name}.html"/>
 36      <xsl:document xmlns="" href="libxml2-{@name}.html" method="xml" indent="yes" encoding="UTF-8">
 37        <html>
 38          <head>
 39  	  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 40  	  <title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
 41  	  <meta name="generator" content="Libxml2 devhelp stylesheet"/>
 42  	  <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
 43  	  <link rel="up" href="general.html" title="API"/>
 44  	  <link rel="stylesheet" href="style.css" type="text/css"/>
 45  	  <link rel="chapter" href="general.html" title="API"/>
 46          </head>
 47  	<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 48  
 49            <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 50  	    <tr valign="middle">
 51  	      <xsl:if test="$prev != ''">
 52  		<td><a accesskey="p" href="libxml2-{$prev}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"/></a></td>
 53  	      </xsl:if>
 54                <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
 55                <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
 56  	      <xsl:if test="$next != ''">
 57  		<td><a accesskey="n" href="libxml2-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
 58  	      </xsl:if>
 59                <th width="100%" align="center">libxml2 Reference Manual</th>
 60              </tr>
 61  	  </table>
 62  	  <h2><span class="refentrytitle"><xsl:value-of select="@name"/></span></h2>
 63  	  <p><xsl:value-of select="@name"/> - <xsl:value-of select="summary"/></p>
 64  	  <p><xsl:value-of select="description"/></p>
 65  	  <xsl:if test="deprecated">
 66  	    <p> WARNING: this module is deprecated !</p>
 67  	  </xsl:if>
 68  	  <p>Author(s): <xsl:value-of select="author"/></p>
 69  	  <div class="refsynopsisdiv">
 70  	  <h2>Synopsis</h2>
 71  	  <pre class="synopsis">
 72  	    <xsl:apply-templates mode="synopsis" select="exports"/>
 73  	  </pre>
 74  	  </div>
 75  	  <div class="refsect1" lang="en">
 76  	  <h2>Description</h2>
 77  	  </div>
 78  	  <div class="refsect1" lang="en">
 79  	  <h2>Details</h2>
 80  	  <div class="refsect2" lang="en">
 81  	    <xsl:apply-templates mode="details" select="/api/symbols/macro[@file=$module]"/>
 82  	    <xsl:apply-templates mode="details" select="/api/symbols/typedef[@file=$module] | /api/symbols/struct[@file=$module]"/>
 83  	    <xsl:apply-templates mode="details" select="/api/symbols/functype[@file=$module]"/>
 84  	    <xsl:apply-templates mode="details" select="/api/symbols/variable[@file=$module]"/>
 85  	    <xsl:apply-templates mode="details" select="/api/symbols/function[@file=$module]"/>
 86  	  </div>
 87  	  </div>
 88  	</body>
 89        </html>
 90      </xsl:document>
 91    </xsl:template>
 92    <xsl:template match="/api/symbols">
 93      <functions>
 94        <xsl:apply-templates select="macro"/>
 95        <xsl:apply-templates select="enum"/>
 96        <xsl:apply-templates select="typedef"/>
 97        <xsl:apply-templates select="struct"/>
 98        <xsl:apply-templates select="functype"/>
 99        <xsl:apply-templates select="variable"/>
100        <xsl:apply-templates select="function"/>
101      </functions>
102    </xsl:template>
103    <xsl:template match="/api/symbols/functype">
104      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
105    </xsl:template>
106    <xsl:template match="/api/symbols/function">
107      <function name="{@name} ()" link="libxml2-{@file}.html#{@name}"/>
108    </xsl:template>
109    <xsl:template match="/api/symbols/typedef">
110      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
111    </xsl:template>
112    <xsl:template match="/api/symbols/enum">
113      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
114    </xsl:template>
115    <xsl:template match="/api/symbols/struct">
116      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
117    </xsl:template>
118    <xsl:template match="/api/symbols/macro">
119      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
120    </xsl:template>
121    <xsl:template match="/api/symbols/variable">
122      <function name="{@name}" link="libxml2-{@file}.html#{@name}"/>
123    </xsl:template>
124  
125  </xsl:stylesheet>
126  
127