]> git.saurik.com Git - wxWidgets.git/blob - utils/ifacecheck/gccxml.xsl
fixed wxXmlResource::Load's detection of filenames to be done as early as possible
[wxWidgets.git] / utils / ifacecheck / gccxml.xsl
1 <?xml version="1.0"?>
2
3 <!-- This file was taken from http://www.gccxml.org
4 where it was contributed by Ivan Kissiov.
5
6 This is useful to 'see' the structure of the gccXML output.
7 Usage:
8
9 xsltproc gccxml.xsl file_created_by_gccxml.xml
10 -->
11
12 <xsl:stylesheet
13 xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
14 version = "1.0">
15 <xsl:output method="html"/>
16
17 <xsl:template match = "GCC_XML">
18
19 <!-- =============================================== -->
20 <html>
21 <table border="0">
22 <tr><td>A</td><td ><a href="#TA">Array Types</a></td></tr>
23 <tr><td>B</td><td ><a href="#TB">Builtins</a></td></tr>
24 <tr><td>Co</td><td ><a href="#TC">Constructors</a></td></tr>
25 <tr><td>Cvt</td><td ><a href="#TCT">Converter</a></td></tr>
26 <tr><td>Q</td><td ><a href="#TQ">Cvq Types</a></td></tr>
27 <tr><td>Z</td><td ><a href="#TZ">Classes</a></td></tr>
28 <tr><td>D</td><td ><a href="#TD">Destructors</a></td></tr>
29 <tr><td>E</td><td ><a href="#TE">Enumerations</a></td></tr>
30 <tr><td>Fd</td><td ><a href="#TFd">Fields</a></td></tr>
31 <tr><td>Fu</td><td ><a href="#TF">Functions</a></td></tr>
32 <tr><td>FT</td><td ><a href="#TFT">Function Types</a></td></tr>
33 <tr><td>M</td><td ><a href="#TM">Methods</a></td></tr>
34 <tr><td>MT</td><td ><a href="#TMT">Method Typess</a></td></tr>
35 <tr><td>N</td><td ><a href="#TN">Namespaces</a></td></tr>
36 <tr><td>OpM</td><td ><a href="#TOM">Operator Methods</a></td></tr>
37 <tr><td>OpF</td><td ><a href="#TOF">Operator Functions</a></td></tr>
38 <tr><td>O</td><td ><a href="#TO">Offset Types</a></td></tr>
39 <tr><td>P</td><td ><a href="#TP">Pointer Types</a></td></tr>
40 <tr><td>R</td><td ><a href="#TR">Reference Types</a></td></tr>
41 <tr><td>S</td><td ><a href="#TS">Structures</a></td></tr>
42 <tr><td>TT</td><td ><a href="#TT">Typedefs</a></td></tr>
43 <tr><td>U</td><td ><a href="#TU">Unions</a></td></tr>
44 <tr><td>V</td><td ><a href="#TV">Variables</a></td></tr>
45 </table><hr/>
46
47 <!-- =============================================== -->
48 <table border="1">
49 <a name="TB"></a>
50 <thead>
51 <tr align="center" colspan="5">Builtin Types</tr>
52 <tr>
53 <td align="center">T</td>
54 <td align="center">id</td>
55 <td align="center">name</td>
56 </tr>
57 </thead>
58 <xsl:apply-templates select="FundamentalType">
59 <xsl:sort select="@id"/>
60 </xsl:apply-templates>
61 </table><hr/>
62
63 <!-- =============================================== -->
64 <table border="1">
65 <a name="TN"></a>
66 <thead>
67 <tr align="center" colspan="5">Namespaces</tr>
68 <tr>
69 <td align="center">T</td>
70 <td align="center">id</td>
71 <td align="center">name</td>
72 <td align="center">context</td>
73 <td align="center">members</td>
74 </tr>
75 </thead>
76 <xsl:apply-templates select="Namespace">
77 <xsl:sort select="@name"/>
78 </xsl:apply-templates>
79 </table><hr/>
80
81 <!-- =============================================== -->
82 <table border="1">
83 <a name="TZ"></a>
84 <thead>
85 <tr align="center" colspan="5">Classes</tr>
86 <tr>
87 <td align="center">T</td>
88 <td align="center">id</td>
89 <td align="center">name</td>
90 <td align="center">context</td>
91 <td align="center">bases</td>
92 <td align="center">members</td>
93 <td align="center">file</td>
94 <td align="center">line</td>
95 </tr>
96 </thead>
97 <xsl:apply-templates select="Class">
98 <xsl:sort select="@name"/>
99 </xsl:apply-templates>
100 </table><hr/>
101
102 <!-- =============================================== -->
103 <table border="1">
104 <a name="TS"></a>
105 <thead>
106 <tr align="center" colspan="5">Structures</tr>
107 <tr>
108 <td align="center">T</td>
109 <td align="center">id</td>
110 <td align="center">name</td>
111 <td align="center">context</td>
112 <td align="center">bases</td>
113 <td align="center">members</td>
114 <td align="center">file</td>
115 <td align="center">line</td>
116 </tr>
117 </thead>
118 <xsl:apply-templates select="Struct">
119 <xsl:sort select="@name"/>
120 </xsl:apply-templates>
121 </table><hr/>
122
123 <!-- =============================================== -->
124 <table border="1">
125 <a name="TU"></a>
126 <thead>
127 <tr align="center" colspan="5">Unions</tr>
128 <tr>
129 <td align="center">T</td>
130 <td align="center">id</td>
131 <td align="center">name</td>
132 <td align="center">context</td>
133 <td align="center">bases</td>
134 <td align="center">members</td>
135 <td align="center">file</td>
136 <td align="center">line</td>
137 </tr>
138 </thead>
139 <xsl:apply-templates select="Union">
140 <xsl:sort select="@name"/>
141 </xsl:apply-templates>
142 </table><hr/>
143
144 <!-- =============================================== -->
145 <table border="1">
146 <a name="TFd"></a>
147 <thead>
148 <tr align="center" colspan="5">Fields</tr>
149 <tr>
150 <td align="center">T</td>
151 <td align="center">id</td>
152 <td align="center">name</td>
153 <td align="center">context</td>
154 <td align="center">type</td>
155 <td align="center">bits</td>
156 <td align="center">access</td>
157 <td align="center">file</td>
158 <td align="center">line</td>
159 </tr>
160 </thead>
161 <xsl:apply-templates select="Field">
162 <xsl:sort select="@name"/>
163 </xsl:apply-templates>
164 </table><hr/>
165
166 <!-- =============================================== -->
167 <table border="1">
168 <a name="TT"></a>
169 <thead>
170 <tr align="center" colspan="5">Typedefs</tr>
171 <tr>
172 <td align="center">T</td>
173 <td align="center">id</td>
174 <td align="center">name</td>
175 <td align="center">context</td>
176 <td align="center">type</td>
177 </tr>
178 </thead>
179 <xsl:apply-templates select="Typedef">
180 <xsl:sort select="@name"/>
181 </xsl:apply-templates>
182 </table><hr/>
183
184 <!-- =============================================== -->
185 <table border="1">
186 <a name="TA"></a>
187 <thead>
188 <tr align="center" colspan="2">Arrays</tr>
189 <tr>
190 <td align="center">T</td>
191 <td align="center">id</td>
192 <td align="center">type</td>
193 <td align="center">min</td>
194 <td align="center">max</td>
195 </tr>
196 </thead>
197 <xsl:apply-templates select="ArrayType">
198 <xsl:sort select="@id"/>
199 </xsl:apply-templates>
200 </table><hr/>
201
202
203 <!-- =============================================== -->
204 <table border="1">
205 <a name="TP"></a>
206 <thead>
207 <tr align="center" colspan="2">Pointers</tr>
208 <tr>
209 <td align="center">T</td>
210 <td align="center">id</td>
211 <td align="center">type</td>
212 </tr>
213 </thead>
214 <xsl:apply-templates select="PointerType">
215 <xsl:sort select="@id"/>
216 </xsl:apply-templates>
217 </table><hr/>
218
219 <!-- =============================================== -->
220 <table border="1">
221 <a name="TO"></a>
222 <thead>
223 <tr align="center" colspan="2">Offset Types</tr>
224 <tr>
225 <td align="center">T</td>
226 <td align="center">id</td>
227 <td align="center">basetype</td>
228 <td align="center">type</td>
229 </tr>
230 </thead>
231 <xsl:apply-templates select="OffsetType">
232 <xsl:sort select="@id"/>
233 </xsl:apply-templates>
234 </table><hr/>
235
236 <!-- =============================================== -->
237 <table border="1">
238 <a name="TR"></a>
239 <thead>
240 <tr align="center" colspan="2">References</tr>
241 <tr>
242 <td align="center">T</td>
243 <td align="center">id</td>
244 <td align="center">type</td>
245 </tr>
246 </thead>
247 <xsl:apply-templates select="ReferenceType">
248 <xsl:sort select="@id"/>
249 </xsl:apply-templates>
250 </table><hr/>
251
252 <!-- =============================================== -->
253 <table border="1">
254 <a name="TQ"></a>
255 <thead>
256 <tr align="center" colspan="2">CVQ Types</tr>
257 <tr>
258 <td align="center">T</td>
259 <td align="center">id</td>
260 <td align="center">type</td>
261 </tr>
262 </thead>
263 <xsl:apply-templates select="CvQualifiedType">
264 <xsl:sort select="@id"/>
265 </xsl:apply-templates>
266 </table><hr/>
267
268 <!-- =============================================== -->
269 <table border="1">
270 <a name="TV"></a>
271 <thead>
272 <tr align="center" colspan="5">Variables</tr>
273 <tr>
274 <td align="center">T</td>
275 <td align="center">id</td>
276 <td align="center">name</td>
277 <td align="center">context</td>
278 <td align="center">type</td>
279 <td align="center">access</td>
280 <td align="center">file</td>
281 <td align="center">line</td>
282 </tr>
283 </thead>
284 <xsl:apply-templates select="Variable">
285 <xsl:sort select="@name"/>
286 </xsl:apply-templates>
287 </table><hr/>
288
289 <!-- =============================================== -->
290 <table border="1">
291 <a name="TM"></a>
292 <thead>
293 <tr align="center" colspan="5">Methods</tr>
294 <tr>
295 <td align="center">T</td>
296 <td align="center">id</td>
297 <td align="center">name</td>
298 <td align="center">context</td>
299 <td align="center">returns</td>
300 <td align="center">throws</td>
301 <td align="center">arguments</td>
302 <td align="center">access</td>
303 <td align="center">static</td>
304 <td align="center">const</td> <!--MINE-->
305 <td align="center">file</td>
306 <td align="center">line</td>
307 </tr>
308 </thead>
309 <xsl:apply-templates select="Method">
310 <xsl:sort select="@name"/>
311 </xsl:apply-templates>
312 </table><hr/>
313
314 <!-- =============================================== -->
315 <table border="1">
316 <a name="TOM"></a>
317 <thead>
318 <tr align="center" colspan="5">Operator Methods</tr>
319 <tr>
320 <td align="center">T</td>
321 <td align="center">id</td>
322 <td align="center">name</td>
323 <td align="center">context</td>
324 <td align="center">returns</td>
325 <td align="center">throws</td>
326 <td align="center">arguments</td>
327 <td align="center">access</td>
328 <td align="center">static</td>
329 <td align="center">file</td>
330 <td align="center">line</td>
331 </tr>
332 </thead>
333 <xsl:apply-templates select="OperatorMethod">
334 <xsl:sort select="@name"/>
335 </xsl:apply-templates>
336 </table><hr/>
337
338 <!-- =============================================== -->
339 <table border="1">
340 <a name="TMT"></a>
341 <thead>
342 <tr align="center" colspan="5">Method Types</tr>
343 <tr>
344 <td align="center">T</td>
345 <td align="center">id</td>
346 <td align="center">basetype</td>
347 <td align="center">returns</td>
348 <td align="center">arguments</td>
349 <td align="center">const</td>
350 </tr>
351 </thead>
352 <xsl:apply-templates select="MethodType">
353 <xsl:sort select="@id"/>
354 </xsl:apply-templates>
355 </table><hr/>
356
357 <!-- =============================================== -->
358 <table border="1">
359 <a name="TCT"></a>
360 <thead>
361 <tr align="center" colspan="5">Converters</tr>
362 <tr>
363 <td align="center">T</td>
364 <td align="center">id</td>
365 <td align="center">name</td>
366 <td align="center">context</td>
367 <td align="center">returns</td>
368 <td align="center">throws</td>
369 <td align="center">access</td>
370 <td align="center">file</td>
371 <td align="center">line</td>
372 </tr>
373 </thead>
374 <xsl:apply-templates select="Converter">
375 <xsl:sort select="@name"/>
376 </xsl:apply-templates>
377 </table><hr/>
378
379 <!-- =============================================== -->
380 <table border="1">
381 <a name="TF"></a>
382 <thead>
383 <tr align="center" colspan="5">Functions</tr>
384 <tr>
385 <td align="center">T</td>
386 <td align="center">id</td>
387 <td align="center">name</td>
388 <td align="center">context</td>
389 <td align="center">returns</td>
390 <td align="center">throws</td>
391 <td align="center">arguments</td>
392 <td align="center">file</td>
393 <td align="center">line</td>
394 </tr>
395 </thead>
396 <xsl:apply-templates select="Function">
397 <xsl:sort select="@name"/>
398 </xsl:apply-templates>
399 </table><hr/>
400
401 <!-- =============================================== -->
402 <table border="1">
403 <a name="TOF"></a>
404 <thead>
405 <tr align="center" colspan="5">Operator Functions</tr>
406 <tr>
407 <td align="center">T</td>
408 <td align="center">id</td>
409 <td align="center">name</td>
410 <td align="center">context</td>
411 <td align="center">returns</td>
412 <td align="center">throws</td>
413 <td align="center">arguments</td>
414 <td align="center">file</td>
415 <td align="center">line</td>
416 </tr>
417 </thead>
418 <xsl:apply-templates select="OperatorFunction">
419 <xsl:sort select="@name"/>
420 </xsl:apply-templates>
421 </table><hr/>
422
423 <!-- =============================================== -->
424 <table border="1">
425 <a name="TFT"></a>
426 <thead>
427 <tr align="center" colspan="5">Function Types</tr>
428 <tr>
429 <td align="center">T</td>
430 <td align="center">id</td>
431 <td align="center">returns</td>
432 <td align="center">arguments</td>
433 </tr>
434 </thead>
435 <xsl:apply-templates select="FunctionType">
436 <xsl:sort select="@name"/>
437 </xsl:apply-templates>
438 </table><hr/>
439
440 <!-- =============================================== -->
441 <table border="1">
442 <a name="TC"></a>
443 <thead>
444 <tr align="center" colspan="5">Constructors</tr>
445 <tr>
446 <td align="center">T</td>
447 <td align="center">id</td>
448 <td align="center">name</td>
449 <td align="center">context</td>
450 <td align="center">throws</td>
451 <td align="center">arguments</td>
452 <td align="center">access</td>
453 <td align="center">artificial</td>
454 <td align="center">file</td>
455 <td align="center">line</td>
456 </tr>
457 </thead>
458 <xsl:apply-templates select="Constructor">
459 <xsl:sort select="@name"/>
460 </xsl:apply-templates>
461 </table><hr/>
462
463 <!-- =============================================== -->
464 <table border="1">
465 <a name="TD"></a>
466 <thead>
467 <tr align="center" colspan="5">Destructors</tr>
468 <tr>
469 <td align="center">T</td>
470 <td align="center">id</td>
471 <td align="center">name</td>
472 <td align="center">context</td>
473 <td align="center">throws</td>
474 <td align="center">access</td>
475 <td align="center">virtual</td>
476 <td align="center">artificial</td>
477 <td align="center">file</td>
478 <td align="center">line</td>
479 </tr>
480 </thead>
481 <xsl:apply-templates select="Destructor">
482 <xsl:sort select="@name"/>
483 </xsl:apply-templates>
484 </table><hr/>
485
486 <!-- =============================================== -->
487 <table border="1">
488 <a name="TE"></a>
489 <thead>
490 <tr align="center" colspan="5">Enumerations</tr>
491 <tr>
492 <td align="center">T</td>
493 <td align="center">id</td>
494 <td align="center">name</td>
495 <td align="center">context</td>
496 <td align="center">artificial</td>
497 <td align="center">file</td>
498 <td align="center">line</td>
499 </tr>
500 </thead>
501 <xsl:apply-templates select="Enumeration">
502 <xsl:sort select="@name"/>
503 </xsl:apply-templates>
504 </table><hr/>
505
506 <!-- =============================================== -->
507 <table border="1">
508 <thead>
509 <tr align="center" colspan="5">File</tr>
510 <tr>
511 <td align="center">T</td>
512 <td align="center">id</td>
513 <td align="center">name</td>
514 </tr>
515 </thead>
516 <xsl:apply-templates select="File">
517 <xsl:sort select="@name"/>
518 </xsl:apply-templates>
519 </table><hr/>
520 </html>
521 </xsl:template>
522
523 <!-- ====================================================================== -->
524 <xsl:template match = "Class">
525 <tr>
526 <td>Z</td>
527 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
528 <td><xsl:value-of select="@name"/></td>
529 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
530 <td>
531 <xsl:call-template name="tokenize">
532 <xsl:with-param name="string" select="@bases" />
533 </xsl:call-template>
534 </td>
535 <td>
536 <xsl:call-template name="tokenize">
537 <xsl:with-param name="string" select="@members" />
538 </xsl:call-template>
539 </td>
540 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
541 <td><xsl:value-of select="@line"/></td>
542 </tr>
543 </xsl:template>
544
545 <!-- =============================================== -->
546 <xsl:template match = "Struct">
547 <tr>
548 <td>S</td>
549 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
550 <td><xsl:value-of select="@name"/></td>
551 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
552 <td>
553 <xsl:call-template name="tokenize">
554 <xsl:with-param name="string" select="@bases" />
555 </xsl:call-template>
556 </td>
557 <td>
558 <xsl:call-template name="tokenize">
559 <xsl:with-param name="string" select="@members" />
560 </xsl:call-template>
561 </td>
562 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
563 <td><xsl:value-of select="@line"/></td>
564 </tr>
565 </xsl:template>
566
567 <!-- =============================================== -->
568 <xsl:template match = "Union">
569 <tr>
570 <td>U</td>
571 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
572 <td><xsl:value-of select="@name"/></td>
573 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
574 <td>
575 <xsl:call-template name="tokenize">
576 <xsl:with-param name="string" select="@bases" />
577 </xsl:call-template>
578 </td>
579 <td>
580 <xsl:call-template name="tokenize">
581 <xsl:with-param name="string" select="@members" />
582 </xsl:call-template>
583 </td>
584 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
585 <td><xsl:value-of select="@line"/></td>
586 </tr>
587 </xsl:template>
588
589 <!-- =============================================== -->
590 <xsl:template match = "Namespace">
591 <tr>
592 <td>N</td>
593 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
594 <td><xsl:value-of select="@name"/></td>
595 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
596 <td>
597 <xsl:call-template name="tokenize">
598 <xsl:with-param name="string" select="@members" />
599 </xsl:call-template>
600 </td>
601 </tr>
602 </xsl:template>
603
604 <!-- =============================================== -->
605 <xsl:template match = "Field">
606 <tr>
607 <td>Fd</td>
608 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
609 <td><xsl:value-of select="@name"/></td>
610 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
611 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
612 <td><xsl:value-of select="@access"/></td>
613 <td><xsl:value-of select="@bits"/></td>
614 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
615 <td><xsl:value-of select="@line"/></td>
616 </tr>
617 </xsl:template>
618
619 <!-- =============================================== -->
620 <xsl:template match = "Typedef">
621 <tr>
622 <td>T</td>
623 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
624 <td><xsl:value-of select="@name"/></td>
625 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
626 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
627 </tr>
628 </xsl:template>
629
630 <!-- =============================================== -->
631 <xsl:template match = "ArrayType">
632 <tr>
633 <td>A</td>
634 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
635 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
636 <td><a name="{@min}"><xsl:value-of select="@min"/></a></td>
637 <td><a name="{@max}"><xsl:value-of select="@max"/></a></td>
638 </tr>
639 </xsl:template>
640
641 <!-- =============================================== -->
642 <xsl:template match = "PointerType">
643 <tr>
644 <td>P</td>
645 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
646 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
647 </tr>
648 </xsl:template>
649
650 <!-- =============================================== -->
651 <xsl:template match = "OffsetType">
652 <tr>
653 <td>O</td>
654 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
655 <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
656 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
657 </tr>
658 </xsl:template>
659
660 <!-- =============================================== -->
661 <xsl:template match = "ReferenceType">
662 <tr>
663 <td>R</td>
664 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
665 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
666 </tr>
667 </xsl:template>
668
669 <!-- =============================================== -->
670 <xsl:template match = "CvQualifiedType">
671 <tr>
672 <td>Q</td>
673 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
674 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
675 </tr>
676 </xsl:template>
677
678 <!-- =============================================== -->
679 <xsl:template match = "FundamentalType">
680 <tr>
681 <td>B</td>
682 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
683 <td><xsl:value-of select="@name"/></td>
684 </tr>
685 </xsl:template>
686
687 <!-- =============================================== -->
688 <xsl:template match = "Variable">
689 <tr>
690 <td>V</td>
691 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
692 <td><xsl:value-of select="@name"/></td>
693 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
694 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
695 <td><xsl:value-of select="@access"/></td>
696 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
697 <td><xsl:value-of select="@line"/></td>
698 </tr>
699 </xsl:template>
700
701 <!-- =============================================== -->
702 <xsl:template match = "Method">
703 <tr>
704 <td>M</td>
705 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
706 <td><xsl:value-of select="@name"/></td>
707 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
708 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
709 <td>
710 <xsl:call-template name="tokenize">
711 <xsl:with-param name="string" select="@throw" />
712 </xsl:call-template>
713 </td>
714 <td><xsl:value-of select="@demangled"/></td>
715 <td><xsl:value-of select="@access"/></td>
716 <td>
717 <xsl:choose>
718 <xsl:when test="@static='1'">true</xsl:when>
719 <xsl:otherwise>false</xsl:otherwise>
720 </xsl:choose>
721 </td>
722 <td>
723 <xsl:choose>
724 <xsl:when test="@const='1'">true</xsl:when>
725 <xsl:otherwise>false</xsl:otherwise>
726 </xsl:choose>
727 </td>
728 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
729 <td><xsl:value-of select="@line"/></td>
730 </tr>
731 </xsl:template>
732
733 <!-- =============================================== -->
734 <xsl:template match = "MethodType">
735 <tr>
736 <td>MT</td>
737 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
738 <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
739 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
740 <td><xsl:apply-templates select="Argument"/></td>
741 <td>
742 <xsl:choose>
743 <xsl:when test="@const='1'">true</xsl:when>
744 <xsl:otherwise>false</xsl:otherwise>
745 </xsl:choose>
746 </td>
747 </tr>
748 </xsl:template>
749
750 <!-- =============================================== -->
751 <xsl:template match = "OperatorMethod">
752 <tr>
753 <td>OpM</td>
754 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
755 <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
756 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
757 <td>
758 <xsl:call-template name="tokenize">
759 <xsl:with-param name="string" select="@throw" />
760 </xsl:call-template>
761 </td>
762 <td><xsl:apply-templates select="Argument"/></td>
763 <td><xsl:value-of select="@access"/></td>
764 <td>
765 <xsl:choose>
766 <xsl:when test="@static='1'">true</xsl:when>
767 <xsl:otherwise>false</xsl:otherwise>
768 </xsl:choose>
769 </td>
770 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
771 <td><xsl:value-of select="@line"/></td>
772 </tr>
773 </xsl:template>
774
775 <!-- =============================================== -->
776 <xsl:template match = "Converter">
777 <tr>
778 <td>Cnv</td>
779 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
780 <td><xsl:value-of select="@name"/></td>
781 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
782 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
783 <td>
784 <xsl:call-template name="tokenize">
785 <xsl:with-param name="string" select="@throw" />
786 </xsl:call-template>
787 </td>
788 <td><xsl:value-of select="@access"/></td>
789 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
790 <td><xsl:value-of select="@line"/></td>
791 </tr>
792 </xsl:template>
793
794 <!-- =============================================== -->
795 <xsl:template match = "Function">
796 <tr>
797 <td>F</td>
798 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
799 <td><xsl:value-of select="@name"/></td>
800 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
801 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
802 <td>
803 <xsl:call-template name="tokenize">
804 <xsl:with-param name="string" select="@throw" />
805 </xsl:call-template>
806 </td>
807 <td><xsl:apply-templates select="Argument"/></td>
808 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
809 <td><xsl:value-of select="@line"/></td>
810 </tr>
811 </xsl:template>
812
813 <!-- =============================================== -->
814 <xsl:template match = "OperatorFunction">
815 <tr>
816 <td>OpF</td>
817 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
818 <td><xsl:value-of select="@name"/></td>
819 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
820 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
821 <td>
822 <xsl:call-template name="tokenize">
823 <xsl:with-param name="string" select="@throw" />
824 </xsl:call-template>
825 </td>
826 <td><xsl:apply-templates select="Argument"/></td>
827 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
828 <td><xsl:value-of select="@line"/></td>
829 </tr>
830 </xsl:template>
831
832 <!-- =============================================== -->
833 <xsl:template match = "FunctionType">
834 <tr>
835 <td>FT</td>
836 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
837 <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
838 <td><xsl:apply-templates select="Argument"/></td>
839 </tr>
840 </xsl:template>
841
842 <!-- =============================================== -->
843 <xsl:template match = "Destructor">
844 <tr>
845 <td>D</td>
846 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
847 <td><xsl:value-of select="@name"/></td>
848 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
849 <td>
850 <xsl:call-template name="tokenize">
851 <xsl:with-param name="string" select="@throw" />
852 </xsl:call-template>
853 </td>
854 <td><xsl:value-of select="@access"/></td>
855 <td>
856 <xsl:choose>
857 <xsl:when test="@virtual='1'">true</xsl:when>
858 <xsl:otherwise>false</xsl:otherwise>
859 </xsl:choose>
860 </td>
861 <td>
862 <xsl:choose>
863 <xsl:when test="@artificial='1'">true</xsl:when>
864 <xsl:otherwise>false</xsl:otherwise>
865 </xsl:choose>
866 </td>
867 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
868 <td><xsl:value-of select="@line"/></td>
869 </tr>
870 </xsl:template>
871
872 <!-- =============================================== -->
873 <xsl:template match = "Constructor">
874 <tr>
875 <td>Co</td>
876 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
877 <td><xsl:value-of select="@name"/></td>
878 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
879 <td>
880 <xsl:call-template name="tokenize">
881 <xsl:with-param name="string" select="@throw" />
882 </xsl:call-template>
883 </td>
884 <td><xsl:apply-templates select="Argument"/></td>
885 <td><xsl:value-of select="@access"/></td>
886 <td>
887 <xsl:choose>
888 <xsl:when test="@artificial='1'">true</xsl:when>
889 <xsl:otherwise>false</xsl:otherwise>
890 </xsl:choose>
891 </td>
892 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
893 <td><xsl:value-of select="@line"/></td>
894 </tr>
895 </xsl:template>
896
897 <!-- =============================================== -->
898 <xsl:template match = "Enumeration">
899 <tr>
900 <td>En</td>
901 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
902 <td><xsl:value-of select="@name"/></td>
903 <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
904 <td>
905 <xsl:choose>
906 <xsl:when test="@artificial='1'">true</xsl:when>
907 <xsl:otherwise>false</xsl:otherwise>
908 </xsl:choose>
909 </td>
910 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
911 <td><xsl:value-of select="@line"/></td>
912 </tr>
913 </xsl:template>
914
915 <!-- =============================================== -->
916 <xsl:template match = "File">
917 <tr>
918 <td>Fd</td>
919 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
920 <td><a href="{@name}"><xsl:value-of select="@name"/></a></td>
921 </tr>
922 </xsl:template>
923
924 <!-- =============================================== -->
925 <xsl:template match = "Argument">
926 <a href="#{@type}"><xsl:value-of select="@type"/></a>
927 </xsl:template>
928
929 <!--- ========== Tokenizer ================== -->
930 <xsl:template name="tokenize">
931 <xsl:param name="string" select="''" />
932 <xsl:param name="delimiters" select="' &#x9; '" />
933 <xsl:choose>
934 <xsl:when test="not($string)" />
935 <xsl:when test="not($delimiters)">
936 <xsl:call-template name="_tokenize-characters">
937 <xsl:with-param name="string" select="$string" />
938 </xsl:call-template>
939 </xsl:when>
940 <xsl:otherwise>
941 <xsl:call-template name="_tokenize-delimiters">
942 <xsl:with-param name="string" select="$string" />
943 <xsl:with-param name="delimiters" select="$delimiters" />
944 </xsl:call-template>
945 </xsl:otherwise>
946 </xsl:choose>
947 </xsl:template>
948
949 <!-- =============================================== -->
950 <xsl:template name="_tokenize-characters">
951 <xsl:param name="string" />
952 <xsl:if test="$string">
953 <a href="#{$string}">
954 <xsl:value-of select="substring($string, 1, 1)" />
955 </a>
956 <xsl:call-template name="_tokenize-characters">
957 <xsl:with-param name="string" select="substring($string, 2)" />
958 </xsl:call-template>
959 </xsl:if>
960 </xsl:template>
961
962 <!-- =============================================== -->
963 <xsl:template name="_tokenize-delimiters">
964 <xsl:param name="string" />
965 <xsl:param name="delimiters" />
966 <xsl:variable name="delimiter" select="substring($delimiters, 1, 1)" />
967 <xsl:choose>
968 <xsl:when test="not($delimiter)">
969 <a href="#{$string}">
970 <xsl:value-of select="$string" />
971 </a>
972 </xsl:when>
973 <xsl:when test="contains($string, $delimiter)">
974 <xsl:if test="not(starts-with($string, $delimiter))">
975 <xsl:call-template name="_tokenize-delimiters">
976 <xsl:with-param name="string" select="substring-before($string, $delimiter)" />
977 <xsl:with-param name="delimiters" select="substring($delimiters, 2)" />
978 </xsl:call-template>
979 </xsl:if>
980 <xsl:call-template name="_tokenize-delimiters">
981 <xsl:with-param name="string" select="substring-after($string, $delimiter)" />
982 <xsl:with-param name="delimiters" select="$delimiters" />
983 </xsl:call-template>
984 </xsl:when>
985
986 <xsl:when test="starts-with($string, 'private:')">
987 <xsl:call-template name="_tokenize-delimiters">
988 <xsl:with-param name="string" select="substring($string, 9)" />
989 </xsl:call-template>
990 </xsl:when>
991
992 <xsl:when test="starts-with($string, 'protected:')">
993 <xsl:call-template name="_tokenize-delimiters">
994 <xsl:with-param name="string" select="substring($string, 11)" />
995 </xsl:call-template>
996 </xsl:when>
997
998 <xsl:otherwise>
999 <xsl:call-template name="_tokenize-delimiters">
1000 <xsl:with-param name="string" select="$string" />
1001 <xsl:with-param name="delimiters" select="substring($delimiters, 2)" />
1002 </xsl:call-template>
1003 </xsl:otherwise>
1004 </xsl:choose>
1005 </xsl:template>
1006
1007 </xsl:stylesheet>