blob: 47fbb84f158fefbc7c330252e781c0db9060b0a1 [file] [log] [blame]
Daniel Veillard3bf65be2002-01-23 12:36:34 +00001<?xml version="1.0"?>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +00002<!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml
3 -->
Daniel Veillard3bf65be2002-01-23 12:36:34 +00004<xsl:stylesheet version="1.0"
5 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
6 xmlns:exsl="http://exslt.org/common"
7 extension-element-prefixes="exsl"
8 exclude-result-prefixes="exsl">
9
Daniel Veillard24f6a072004-04-08 14:39:25 +000010 <!-- Import the rest of the site stylesheets -->
Daniel Veillard3bf65be2002-01-23 12:36:34 +000011 <xsl:import href="site.xsl"/>
12
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000013 <!-- Generate XHTML-1.0 transitional -->
14 <xsl:output method="xml" encoding="ISO-8859-1" indent="yes"
15 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
16 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
17
18 <xsl:variable name="href_base" select="''"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +000019 <xsl:variable name="apirefs" select="document('libxml2-refs.xml')"/>
20 <xsl:variable name="module" select="$apirefs/apirefs/@name"/>
21 <xsl:key name="refhref" match="reference" use="@name"/>
22
23 <xsl:template match="ref" mode="anchor">
24 <xsl:variable name="name" select="@name"/>
25 <xsl:for-each select="document('libxml2-refs.xml')">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000026 <a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +000027 </xsl:for-each>
28 </xsl:template>
29 <xsl:template match="type" mode="reflist">
30 <h2>Type <xsl:value-of select="@name"/>:</h2>
31 <p>
32 <xsl:for-each select="ref">
33 <xsl:apply-templates mode="anchor" select="."/>
34 <xsl:text>
35</xsl:text>
36 </xsl:for-each>
37 </p>
38 </xsl:template>
39 <xsl:template match="letter" mode="reflist">
40 <h2>Letter <xsl:value-of select="@name"/>:</h2>
41 <p>
42 <xsl:for-each select="ref">
43 <xsl:apply-templates mode="anchor" select="."/>
44 <xsl:text>
45</xsl:text>
46 </xsl:for-each>
47 </p>
48 </xsl:template>
49 <xsl:template match="file" mode="reflist">
Daniel Veillarddb1bdba2002-03-09 14:13:11 +000050 <h2><a name="{@name}">Module <xsl:value-of select="@name"/></a>:</h2>
Daniel Veillard3bf65be2002-01-23 12:36:34 +000051 <p>
52 <xsl:for-each select="ref">
53 <xsl:apply-templates mode="anchor" select="."/>
54 <xsl:text>
55</xsl:text>
56 </xsl:for-each>
57 </p>
58 </xsl:template>
Daniel Veillardf8592562002-01-23 17:58:17 +000059 <xsl:template match="letter" mode="wordlist">
60 <h2>Letter <xsl:value-of select="@name"/>:</h2>
61 <dl>
62 <xsl:for-each select="word">
63 <dt><xsl:value-of select="@name"/></dt>
64 <dd>
65 <xsl:for-each select="ref">
66 <xsl:apply-templates mode="anchor" select="."/>
67 <xsl:text>
68</xsl:text>
69 </xsl:for-each>
70 </dd>
71 </xsl:for-each>
72 </dl>
73 </xsl:template>
Daniel Veillard3bf65be2002-01-23 12:36:34 +000074
75 <xsl:template match="constructors">
76 <xsl:message>Generating API Constructors</xsl:message>
77 <xsl:variable name="title">List of constructors for <xsl:value-of select="$module"/></xsl:variable>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000078 <xsl:document href="APIconstructors.html" method="xml" encoding="ISO-8859-1"
79 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
80 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Daniel Veillard3bf65be2002-01-23 12:36:34 +000081 <html>
82 <head>
83 <xsl:call-template name="style"/>
84 <xsl:element name="title">
85 <xsl:value-of select="$title"/>
86 </xsl:element>
87 </head>
Daniel Veillard7a2c2ee2004-08-14 13:56:39 +000088 <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Daniel Veillard3bf65be2002-01-23 12:36:34 +000089 <xsl:call-template name="titlebox">
90 <xsl:with-param name="title" select="$title"/>
91 </xsl:call-template>
92 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
93 <tr>
94 <td bgcolor="#8b7765">
95 <table border="0" cellspacing="0" cellpadding="2" width="100%">
96 <tr>
97 <td valign="top" width="200" bgcolor="#8b7765">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000098 <xsl:call-template name="develtoc"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +000099 </td>
100 <td valign="top" bgcolor="#8b7765">
101 <table border="0" cellspacing="0" cellpadding="1" width="100%">
102 <tr>
103 <td>
104 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
105 <tr>
106 <td>
107 <table border="0" cellpadding="3" cellspacing="1" width="100%">
108 <tr>
109 <td bgcolor="#fffacd">
110 <xsl:apply-templates mode="reflist" select="type"/>
Daniel Veillardbe586972003-11-18 20:56:51 +0000111 <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000112 </td>
113 </tr>
114 </table>
115 </td>
116 </tr>
117 </table>
118 </td>
119 </tr>
120 </table>
121 </td>
122 </tr>
123 </table>
124 </td>
125 </tr>
126 </table>
127 </body>
128 </html>
129 </xsl:document>
130 </xsl:template>
131 <xsl:template match="files">
132 <xsl:message>Generating API List of synbols per file</xsl:message>
133 <xsl:variable name="title">List of Symbols per Module for <xsl:value-of select="$module"/></xsl:variable>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000134 <xsl:document href="APIfiles.html" method="xml" encoding="ISO-8859-1"
135 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
136 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000137 <html>
138 <head>
139 <xsl:call-template name="style"/>
140 <xsl:element name="title">
141 <xsl:value-of select="$title"/>
142 </xsl:element>
143 </head>
Daniel Veillard7a2c2ee2004-08-14 13:56:39 +0000144 <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000145 <xsl:call-template name="titlebox">
146 <xsl:with-param name="title" select="$title"/>
147 </xsl:call-template>
148 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
149 <tr>
150 <td bgcolor="#8b7765">
151 <table border="0" cellspacing="0" cellpadding="2" width="100%">
152 <tr>
153 <td valign="top" width="200" bgcolor="#8b7765">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000154 <xsl:call-template name="develtoc"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000155 </td>
156 <td valign="top" bgcolor="#8b7765">
157 <table border="0" cellspacing="0" cellpadding="1" width="100%">
158 <tr>
159 <td>
160 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
161 <tr>
162 <td>
163 <table border="0" cellpadding="3" cellspacing="1" width="100%">
164 <tr>
165 <td bgcolor="#fffacd">
166 <xsl:apply-templates mode="reflist" select="file"/>
Daniel Veillardbe586972003-11-18 20:56:51 +0000167 <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000168 </td>
169 </tr>
170 </table>
171 </td>
172 </tr>
173 </table>
174 </td>
175 </tr>
176 </table>
177 </td>
178 </tr>
179 </table>
180 </td>
181 </tr>
182 </table>
183 </body>
184 </html>
185 </xsl:document>
186 </xsl:template>
187 <xsl:template match="functions">
188 <xsl:message>Generating API Functions by Type</xsl:message>
189 <xsl:variable name="title">List of function manipulating types in <xsl:value-of select="$module"/></xsl:variable>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000190 <xsl:document href="APIfunctions.html" method="xml" encoding="ISO-8859-1"
191 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
192 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000193 <html>
194 <head>
195 <xsl:call-template name="style"/>
196 <xsl:element name="title">
197 <xsl:value-of select="$title"/>
198 </xsl:element>
199 </head>
Daniel Veillard7a2c2ee2004-08-14 13:56:39 +0000200 <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000201 <xsl:call-template name="titlebox">
202 <xsl:with-param name="title" select="$title"/>
203 </xsl:call-template>
204 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
205 <tr>
206 <td bgcolor="#8b7765">
207 <table border="0" cellspacing="0" cellpadding="2" width="100%">
208 <tr>
209 <td valign="top" width="200" bgcolor="#8b7765">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000210 <xsl:call-template name="develtoc"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000211 </td>
212 <td valign="top" bgcolor="#8b7765">
213 <table border="0" cellspacing="0" cellpadding="1" width="100%">
214 <tr>
215 <td>
216 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
217 <tr>
218 <td>
219 <table border="0" cellpadding="3" cellspacing="1" width="100%">
220 <tr>
221 <td bgcolor="#fffacd">
222 <xsl:apply-templates mode="reflist" select="type"/>
Daniel Veillardbe586972003-11-18 20:56:51 +0000223 <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000224 </td>
225 </tr>
226 </table>
227 </td>
228 </tr>
229 </table>
230 </td>
231 </tr>
232 </table>
233 </td>
234 </tr>
235 </table>
236 </td>
237 </tr>
238 </table>
239 </body>
240 </html>
241 </xsl:document>
242 </xsl:template>
243 <xsl:template match="alpha">
244 <xsl:message>Generating API Alphabetic list</xsl:message>
245 <xsl:variable name="title">Alphabetic List of Symbols in <xsl:value-of select="$module"/></xsl:variable>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000246 <xsl:document href="APIsymbols.html" method="xml" encoding="ISO-8859-1"
247 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
248 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000249 <html>
250 <head>
251 <xsl:call-template name="style"/>
252 <xsl:element name="title">
253 <xsl:value-of select="$title"/>
254 </xsl:element>
255 </head>
Daniel Veillard7a2c2ee2004-08-14 13:56:39 +0000256 <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000257 <xsl:call-template name="titlebox">
258 <xsl:with-param name="title" select="$title"/>
259 </xsl:call-template>
260 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
261 <tr>
262 <td bgcolor="#8b7765">
263 <table border="0" cellspacing="0" cellpadding="2" width="100%">
264 <tr>
265 <td valign="top" width="200" bgcolor="#8b7765">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000266 <xsl:call-template name="develtoc"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000267 </td>
268 <td valign="top" bgcolor="#8b7765">
269 <table border="0" cellspacing="0" cellpadding="1" width="100%">
270 <tr>
271 <td>
272 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
273 <tr>
274 <td>
275 <table border="0" cellpadding="3" cellspacing="1" width="100%">
276 <tr>
277 <td bgcolor="#fffacd">
278 <xsl:apply-templates mode="reflist" select="letter"/>
Daniel Veillardbe586972003-11-18 20:56:51 +0000279 <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000280 </td>
281 </tr>
282 </table>
283 </td>
284 </tr>
285 </table>
286 </td>
287 </tr>
288 </table>
289 </td>
290 </tr>
291 </table>
292 </td>
293 </tr>
294 </table>
295 </body>
296 </html>
297 </xsl:document>
298 </xsl:template>
Daniel Veillardf8592562002-01-23 17:58:17 +0000299 <xsl:template name="apichunks">
300 <h2 align="center">
301 <xsl:for-each select="/apirefs/index/chunks/chunk">
302 <xsl:variable name="name" select="@name"/>
303 <xsl:variable name="start" select="@start"/>
304 <xsl:variable name="end" select="@end"/>
305 <xsl:variable name="block" select="concat($start, '-', $end)"/>
306 <a href="API{$name}.html"><xsl:value-of select="$block"/></a>
307 <xsl:text>
308</xsl:text>
309 </xsl:for-each>
310 </h2>
311 </xsl:template>
312 <xsl:template match="chunk">
313 <xsl:variable name="name" select="@name"/>
314 <xsl:variable name="start" select="@start"/>
315 <xsl:variable name="end" select="@end"/>
316 <xsl:variable name="block" select="concat($start, '-', $end)"/>
317 <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/>
318 <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></xsl:variable>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000319 <xsl:document href="API{$name}.html" method="xml" encoding="ISO-8859-1"
320 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
321 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Daniel Veillardf8592562002-01-23 17:58:17 +0000322 <html>
323 <head>
324 <xsl:call-template name="style"/>
325 <xsl:element name="title">
326 <xsl:value-of select="$title"/>
327 </xsl:element>
328 </head>
Daniel Veillard7a2c2ee2004-08-14 13:56:39 +0000329 <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
Daniel Veillardf8592562002-01-23 17:58:17 +0000330 <xsl:call-template name="titlebox">
331 <xsl:with-param name="title" select="$title"/>
332 </xsl:call-template>
333 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
334 <tr>
335 <td bgcolor="#8b7765">
336 <table border="0" cellspacing="0" cellpadding="2" width="100%">
337 <tr>
338 <td valign="top" width="200" bgcolor="#8b7765">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000339 <xsl:call-template name="develtoc"/>
Daniel Veillardf8592562002-01-23 17:58:17 +0000340 </td>
341 <td valign="top" bgcolor="#8b7765">
342 <table border="0" cellspacing="0" cellpadding="1" width="100%">
343 <tr>
344 <td>
345 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
346 <tr>
347 <td>
348 <table border="0" cellpadding="3" cellspacing="1" width="100%">
349 <tr>
350 <td bgcolor="#fffacd">
351 <xsl:call-template name="apichunks"/>
352 <xsl:apply-templates mode="wordlist"
353 select="$target/letter"/>
354 <xsl:call-template name="apichunks"/>
Daniel Veillardbe586972003-11-18 20:56:51 +0000355 <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
Daniel Veillardf8592562002-01-23 17:58:17 +0000356 </td>
357 </tr>
358 </table>
359 </td>
360 </tr>
361 </table>
362 </td>
363 </tr>
364 </table>
365 </td>
366 </tr>
367 </table>
368 </td>
369 </tr>
370 </table>
371 </body>
372 </html>
373 </xsl:document>
374 </xsl:template>
375
376 <xsl:template match="index">
377 <xsl:message>Generating API Index</xsl:message>
378 <xsl:apply-templates select="chunks/chunk"/>
379 </xsl:template>
380
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000381 <xsl:template match="apirefs">
382 <xsl:message>Generating API Cross References</xsl:message>
383 <xsl:apply-templates select="constructors"/>
384 <xsl:apply-templates select="functions"/>
385 <xsl:apply-templates select="alpha"/>
386 <xsl:apply-templates select="files"/>
Daniel Veillardf8592562002-01-23 17:58:17 +0000387 <xsl:apply-templates select="index"/>
Daniel Veillard3bf65be2002-01-23 12:36:34 +0000388 </xsl:template>
389
390 <xsl:template match="/">
391 <xsl:apply-templates select="$apirefs/apirefs"/>
392 </xsl:template>
393
394</xsl:stylesheet>