Annotation of embedaddon/libxml2/doc/api.xsl, revision 1.1.1.1
1.1 misho 1: <?xml version="1.0"?>
2: <!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml
3: -->
4: <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:
10: <!-- Import the rest of the site stylesheets -->
11: <xsl:import href="site.xsl"/>
12:
13: <!-- Generate XHTML-1.0 transitional -->
14: <xsl:output method="xml" encoding="UTF-8" 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="''"/>
19: <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')">
26: <a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
27: </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">
50: <h2><a name="{@name}">Module <xsl:value-of select="@name"/></a>:</h2>
51: <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>
59: <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>
74:
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>
78: <xsl:document href="APIconstructors.html" method="xml" encoding="UTF-8"
79: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
80: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
81: <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>
88: <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
89: <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">
98: <xsl:call-template name="develtoc"/>
99: </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"/>
111: <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
112: </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>
134: <xsl:document href="APIfiles.html" method="xml" encoding="UTF-8"
135: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
136: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
137: <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>
144: <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
145: <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">
154: <xsl:call-template name="develtoc"/>
155: </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"/>
167: <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
168: </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>
190: <xsl:document href="APIfunctions.html" method="xml" encoding="UTF-8"
191: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
192: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
193: <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>
200: <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
201: <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">
210: <xsl:call-template name="develtoc"/>
211: </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"/>
223: <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
224: </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>
246: <xsl:document href="APIsymbols.html" method="xml" encoding="UTF-8"
247: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
248: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
249: <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>
256: <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
257: <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">
266: <xsl:call-template name="develtoc"/>
267: </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"/>
279: <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
280: </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>
299: <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>
319: <xsl:document href="API{$name}.html" method="xml" encoding="UTF-8"
320: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
321: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
322: <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>
329: <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
330: <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">
339: <xsl:call-template name="develtoc"/>
340: </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"/>
355: <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
356: </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:
381: <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"/>
387: <xsl:apply-templates select="index"/>
388: </xsl:template>
389:
390: <xsl:template match="/">
391: <xsl:apply-templates select="$apirefs/apirefs"/>
392: </xsl:template>
393:
394: </xsl:stylesheet>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>