Imported Upstream version 2.8.0
[platform/upstream/libxml2.git] / doc / devhelp / 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