3 <!-- This file was taken from http://www.gccxml.org
4 where it was contributed by Ivan Kissiov.
6 This is useful to 'see' the structure of the gccXML output.
9 xsltproc gccxml.xsl file_created_by_gccxml.xml
13 xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
15 <xsl:output method="html"/>
17 <xsl:template match = "GCC_XML">
19 <!-- =============================================== -->
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>
47 <!-- =============================================== -->
51 <tr align="center" colspan="5">Builtin Types</tr>
53 <td align="center">T</td>
54 <td align="center">id</td>
55 <td align="center">name</td>
58 <xsl:apply-templates select="FundamentalType">
59 <xsl:sort select="@id"/>
60 </xsl:apply-templates>
63 <!-- =============================================== -->
67 <tr align="center" colspan="5">Namespaces</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>
76 <xsl:apply-templates select="Namespace">
77 <xsl:sort select="@name"/>
78 </xsl:apply-templates>
81 <!-- =============================================== -->
85 <tr align="center" colspan="5">Classes</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>
97 <xsl:apply-templates select="Class">
98 <xsl:sort select="@name"/>
99 </xsl:apply-templates>
102 <!-- =============================================== -->
106 <tr align="center" colspan="5">Structures</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>
118 <xsl:apply-templates select="Struct">
119 <xsl:sort select="@name"/>
120 </xsl:apply-templates>
123 <!-- =============================================== -->
127 <tr align="center" colspan="5">Unions</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>
139 <xsl:apply-templates select="Union">
140 <xsl:sort select="@name"/>
141 </xsl:apply-templates>
144 <!-- =============================================== -->
148 <tr align="center" colspan="5">Fields</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>
161 <xsl:apply-templates select="Field">
162 <xsl:sort select="@name"/>
163 </xsl:apply-templates>
166 <!-- =============================================== -->
170 <tr align="center" colspan="5">Typedefs</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>
179 <xsl:apply-templates select="Typedef">
180 <xsl:sort select="@name"/>
181 </xsl:apply-templates>
184 <!-- =============================================== -->
188 <tr align="center" colspan="2">Arrays</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>
197 <xsl:apply-templates select="ArrayType">
198 <xsl:sort select="@id"/>
199 </xsl:apply-templates>
203 <!-- =============================================== -->
207 <tr align="center" colspan="2">Pointers</tr>
209 <td align="center">T</td>
210 <td align="center">id</td>
211 <td align="center">type</td>
214 <xsl:apply-templates select="PointerType">
215 <xsl:sort select="@id"/>
216 </xsl:apply-templates>
219 <!-- =============================================== -->
223 <tr align="center" colspan="2">Offset Types</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>
231 <xsl:apply-templates select="OffsetType">
232 <xsl:sort select="@id"/>
233 </xsl:apply-templates>
236 <!-- =============================================== -->
240 <tr align="center" colspan="2">References</tr>
242 <td align="center">T</td>
243 <td align="center">id</td>
244 <td align="center">type</td>
247 <xsl:apply-templates select="ReferenceType">
248 <xsl:sort select="@id"/>
249 </xsl:apply-templates>
252 <!-- =============================================== -->
256 <tr align="center" colspan="2">CVQ Types</tr>
258 <td align="center">T</td>
259 <td align="center">id</td>
260 <td align="center">type</td>
263 <xsl:apply-templates select="CvQualifiedType">
264 <xsl:sort select="@id"/>
265 </xsl:apply-templates>
268 <!-- =============================================== -->
272 <tr align="center" colspan="5">Variables</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>
284 <xsl:apply-templates select="Variable">
285 <xsl:sort select="@name"/>
286 </xsl:apply-templates>
289 <!-- =============================================== -->
293 <tr align="center" colspan="5">Methods</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>
309 <xsl:apply-templates select="Method">
310 <xsl:sort select="@name"/>
311 </xsl:apply-templates>
314 <!-- =============================================== -->
318 <tr align="center" colspan="5">Operator Methods</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>
333 <xsl:apply-templates select="OperatorMethod">
334 <xsl:sort select="@name"/>
335 </xsl:apply-templates>
338 <!-- =============================================== -->
342 <tr align="center" colspan="5">Method Types</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>
352 <xsl:apply-templates select="MethodType">
353 <xsl:sort select="@id"/>
354 </xsl:apply-templates>
357 <!-- =============================================== -->
361 <tr align="center" colspan="5">Converters</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>
374 <xsl:apply-templates select="Converter">
375 <xsl:sort select="@name"/>
376 </xsl:apply-templates>
379 <!-- =============================================== -->
383 <tr align="center" colspan="5">Functions</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>
396 <xsl:apply-templates select="Function">
397 <xsl:sort select="@name"/>
398 </xsl:apply-templates>
401 <!-- =============================================== -->
405 <tr align="center" colspan="5">Operator Functions</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>
418 <xsl:apply-templates select="OperatorFunction">
419 <xsl:sort select="@name"/>
420 </xsl:apply-templates>
423 <!-- =============================================== -->
427 <tr align="center" colspan="5">Function Types</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>
435 <xsl:apply-templates select="FunctionType">
436 <xsl:sort select="@name"/>
437 </xsl:apply-templates>
440 <!-- =============================================== -->
444 <tr align="center" colspan="5">Constructors</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>
458 <xsl:apply-templates select="Constructor">
459 <xsl:sort select="@name"/>
460 </xsl:apply-templates>
463 <!-- =============================================== -->
467 <tr align="center" colspan="5">Destructors</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>
481 <xsl:apply-templates select="Destructor">
482 <xsl:sort select="@name"/>
483 </xsl:apply-templates>
486 <!-- =============================================== -->
490 <tr align="center" colspan="5">Enumerations</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>
501 <xsl:apply-templates select="Enumeration">
502 <xsl:sort select="@name"/>
503 </xsl:apply-templates>
506 <!-- =============================================== -->
509 <tr align="center" colspan="5">File</tr>
511 <td align="center">T</td>
512 <td align="center">id</td>
513 <td align="center">name</td>
516 <xsl:apply-templates select="File">
517 <xsl:sort select="@name"/>
518 </xsl:apply-templates>
523 <!-- ====================================================================== -->
524 <xsl:template match = "Class">
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>
531 <xsl:call-template name="tokenize">
532 <xsl:with-param name="string" select="@bases" />
536 <xsl:call-template name="tokenize">
537 <xsl:with-param name="string" select="@members" />
540 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
541 <td><xsl:value-of select="@line"/></td>
545 <!-- =============================================== -->
546 <xsl:template match = "Struct">
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>
553 <xsl:call-template name="tokenize">
554 <xsl:with-param name="string" select="@bases" />
558 <xsl:call-template name="tokenize">
559 <xsl:with-param name="string" select="@members" />
562 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
563 <td><xsl:value-of select="@line"/></td>
567 <!-- =============================================== -->
568 <xsl:template match = "Union">
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>
575 <xsl:call-template name="tokenize">
576 <xsl:with-param name="string" select="@bases" />
580 <xsl:call-template name="tokenize">
581 <xsl:with-param name="string" select="@members" />
584 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
585 <td><xsl:value-of select="@line"/></td>
589 <!-- =============================================== -->
590 <xsl:template match = "Namespace">
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>
597 <xsl:call-template name="tokenize">
598 <xsl:with-param name="string" select="@members" />
604 <!-- =============================================== -->
605 <xsl:template match = "Field">
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>
619 <!-- =============================================== -->
620 <xsl:template match = "Typedef">
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>
630 <!-- =============================================== -->
631 <xsl:template match = "ArrayType">
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>
641 <!-- =============================================== -->
642 <xsl:template match = "PointerType">
645 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
646 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
650 <!-- =============================================== -->
651 <xsl:template match = "OffsetType">
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>
660 <!-- =============================================== -->
661 <xsl:template match = "ReferenceType">
664 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
665 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
669 <!-- =============================================== -->
670 <xsl:template match = "CvQualifiedType">
673 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
674 <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
678 <!-- =============================================== -->
679 <xsl:template match = "FundamentalType">
682 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
683 <td><xsl:value-of select="@name"/></td>
687 <!-- =============================================== -->
688 <xsl:template match = "Variable">
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>
701 <!-- =============================================== -->
702 <xsl:template match = "Method">
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>
710 <xsl:call-template name="tokenize">
711 <xsl:with-param name="string" select="@throw" />
714 <td><xsl:value-of select="@demangled"/></td>
715 <td><xsl:value-of select="@access"/></td>
718 <xsl:when test="@static='1'">true</xsl:when>
719 <xsl:otherwise>false</xsl:otherwise>
724 <xsl:when test="@const='1'">true</xsl:when>
725 <xsl:otherwise>false</xsl:otherwise>
728 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
729 <td><xsl:value-of select="@line"/></td>
733 <!-- =============================================== -->
734 <xsl:template match = "MethodType">
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>
743 <xsl:when test="@const='1'">true</xsl:when>
744 <xsl:otherwise>false</xsl:otherwise>
750 <!-- =============================================== -->
751 <xsl:template match = "OperatorMethod">
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>
758 <xsl:call-template name="tokenize">
759 <xsl:with-param name="string" select="@throw" />
762 <td><xsl:apply-templates select="Argument"/></td>
763 <td><xsl:value-of select="@access"/></td>
766 <xsl:when test="@static='1'">true</xsl:when>
767 <xsl:otherwise>false</xsl:otherwise>
770 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
771 <td><xsl:value-of select="@line"/></td>
775 <!-- =============================================== -->
776 <xsl:template match = "Converter">
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>
784 <xsl:call-template name="tokenize">
785 <xsl:with-param name="string" select="@throw" />
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>
794 <!-- =============================================== -->
795 <xsl:template match = "Function">
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>
803 <xsl:call-template name="tokenize">
804 <xsl:with-param name="string" select="@throw" />
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>
813 <!-- =============================================== -->
814 <xsl:template match = "OperatorFunction">
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>
822 <xsl:call-template name="tokenize">
823 <xsl:with-param name="string" select="@throw" />
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>
832 <!-- =============================================== -->
833 <xsl:template match = "FunctionType">
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>
842 <!-- =============================================== -->
843 <xsl:template match = "Destructor">
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>
850 <xsl:call-template name="tokenize">
851 <xsl:with-param name="string" select="@throw" />
854 <td><xsl:value-of select="@access"/></td>
857 <xsl:when test="@virtual='1'">true</xsl:when>
858 <xsl:otherwise>false</xsl:otherwise>
863 <xsl:when test="@artificial='1'">true</xsl:when>
864 <xsl:otherwise>false</xsl:otherwise>
867 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
868 <td><xsl:value-of select="@line"/></td>
872 <!-- =============================================== -->
873 <xsl:template match = "Constructor">
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>
880 <xsl:call-template name="tokenize">
881 <xsl:with-param name="string" select="@throw" />
884 <td><xsl:apply-templates select="Argument"/></td>
885 <td><xsl:value-of select="@access"/></td>
888 <xsl:when test="@artificial='1'">true</xsl:when>
889 <xsl:otherwise>false</xsl:otherwise>
892 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
893 <td><xsl:value-of select="@line"/></td>
897 <!-- =============================================== -->
898 <xsl:template match = "Enumeration">
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>
906 <xsl:when test="@artificial='1'">true</xsl:when>
907 <xsl:otherwise>false</xsl:otherwise>
910 <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
911 <td><xsl:value-of select="@line"/></td>
915 <!-- =============================================== -->
916 <xsl:template match = "File">
919 <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
920 <td><a href="{@name}"><xsl:value-of select="@name"/></a></td>
924 <!-- =============================================== -->
925 <xsl:template match = "Argument">
926 <a href="#{@type}"><xsl:value-of select="@type"/></a>
929 <!--- ========== Tokenizer ================== -->
930 <xsl:template name="tokenize">
931 <xsl:param name="string" select="''" />
932 <xsl:param name="delimiters" select="' 	 '" />
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" />
941 <xsl:call-template name="_tokenize-delimiters">
942 <xsl:with-param name="string" select="$string" />
943 <xsl:with-param name="delimiters" select="$delimiters" />
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)" />
956 <xsl:call-template name="_tokenize-characters">
957 <xsl:with-param name="string" select="substring($string, 2)" />
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)" />
968 <xsl:when test="not($delimiter)">
969 <a href="#{$string}">
970 <xsl:value-of select="$string" />
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)" />
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" />
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)" />
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)" />
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>