1 <?xml version="1.0" ?>
\r
2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
\r
3 <xsl:output encoding = "ISO-8859-1"/>
\r
4 <xsl:template match="/">
\r
5 <xsl:apply-templates select="/Assembly/Interface" />
\r
6 <xsl:apply-templates select="/Assembly/Class" />
\r
7 <xsl:apply-templates select="/Assembly/Struct" />
\r
8 <xsl:apply-templates select="/Assembly/Delegate" />
\r
10 <xsl:template match="/Assembly/Interface">
\r
11 <xsl:call-template name="file"/>
\r
13 <xsl:template match="/Assembly/Class">
\r
14 <xsl:call-template name="file"/>
\r
16 <xsl:template match="/Assembly/Struct">
\r
17 <xsl:call-template name="file"/>
\r
19 <xsl:template match="/Assembly/Delegate">
\r
20 <xsl:call-template name="file"/>
\r
22 <xsl:template name="file">
\r
23 <xsl:if test="@Access[.!='private']">
\r
24 <xsl:text> </xsl:text>
\r
25 <xsl:element name="filestart">
\r
26 <xsl:attribute name="name">
\r
27 <xsl:value-of select="substring(@refid,3)"/>
\r
28 <xsl:text>.htm</xsl:text>
\r
31 <xsl:text> </xsl:text>
\r
35 <xsl:text>C5 doc: </xsl:text>
\r
36 <xsl:value-of select="@Name" />
\r
38 <link rel="stylesheet" type="text/css" href="../docnet.css" />
\r
40 <xsl:element name="body">
\r
41 <xsl:attribute name="onLoad">
\r
42 <xsl:text>parent.document.title ='C5 doc: </xsl:text>
\r
43 <xsl:value-of select="@Name" />
\r
44 <xsl:text>'</xsl:text>
\r
47 <xsl:value-of select="name()"/>
\r
48 <xsl:text> </xsl:text>
\r
49 <xsl:call-template name="htmlname" />
\r
51 <xsl:apply-templates select="summary" />
\r
52 <xsl:call-template name="typeparams" />
\r
53 <xsl:call-template name="implements" />
\r
54 <xsl:call-template name="implementedby" />
\r
55 <xsl:call-template name="super" />
\r
56 <xsl:apply-templates select="Bases" />
\r
57 <xsl:call-template name="baseof" />
\r
58 <xsl:call-template name="foverview" />
\r
59 <xsl:call-template name="eoverview" />
\r
60 <xsl:call-template name="poverview" />
\r
61 <xsl:call-template name="coverview" />
\r
62 <xsl:call-template name="moverview" />
\r
63 <xsl:call-template name="ooverview" />
\r
64 <xsl:call-template name="ftable" />
\r
65 <xsl:call-template name="etable" />
\r
66 <xsl:call-template name="ptable" />
\r
67 <xsl:call-template name="ctable" />
\r
68 <xsl:call-template name="mtable" />
\r
69 <xsl:call-template name="otable" />
\r
74 <xsl:template name="implements">
\r
75 <xsl:for-each select="Implements">
\r
76 <xsl:sort select="@refid" />
\r
77 <xsl:if test="position()=1">
\r
80 <xsl:call-template name="htmllink" />
\r
81 <xsl:if test="position()!=last()">, </xsl:if>
\r
84 <xsl:template name="super">
\r
85 <xsl:variable name="leRefid" select="@refid" />
\r
86 <xsl:for-each select="/Assembly/Interface[Implements[@refid = $leRefid ] and @Access != 'private']">
\r
87 <xsl:sort select="@Name" />
\r
88 <xsl:if test="position()=1">
\r
91 <xsl:call-template name="htmllink" />
\r
92 <xsl:if test="position()!=last()">, </xsl:if>
\r
95 <xsl:template name="implementedby">
\r
96 <xsl:variable name="leRefid" select="@refid" />
\r
97 <xsl:for-each select="/Assembly/Class[Implements[@refid = $leRefid ] and @Access != 'private']">
\r
98 <xsl:sort select="@Name" />
\r
99 <xsl:if test="position()=1">
\r
100 <h3>Implemented by</h3>
\r
102 <xsl:call-template name="htmllink" />
\r
103 <xsl:if test="position()!=last()">, </xsl:if>
\r
106 <xsl:template match="Bases">
\r
107 <xsl:if test="position()=1">
\r
110 <xsl:call-template name="htmllink" />
\r
111 <xsl:if test="position()!=last()">, </xsl:if>
\r
113 <xsl:template name="baseof">
\r
114 <xsl:variable name="leRefid" select="@refid" />
\r
115 <xsl:for-each select="/Assembly/Class[Bases[@refid = $leRefid ] and @Access != 'private']">
\r
116 <xsl:sort select="@Name" />
\r
117 <xsl:if test="position()=1">
\r
120 <xsl:call-template name="htmllink" />
\r
121 <xsl:if test="position()!=last()">, </xsl:if>
\r
124 <xsl:template match="param">
\r
128 <xsl:value-of select="@name" />
\r
130 <xsl:text>:</xsl:text>
\r
133 <xsl:apply-templates/>
\r
137 <xsl:template match="returns">
\r
138 <xsl:if test="current()[../@ReturnType!='void']">
\r
144 <xsl:apply-templates/>
\r
149 <xsl:template match="Signature">
\r
151 <xsl:value-of select="." />
\r
154 <xsl:template match="summary">
\r
155 <xsl:apply-templates />
\r
157 <xsl:template match="value">
\r
160 <xsl:apply-templates />
\r
163 <!-- templates for VS 2005 doc tags-->
\r
164 <xsl:template match="exception">
\r
166 <xsl:when test="current()[name(..)='summary']">
\r
168 <xsl:value-of select="substring(@cref,3)" />
\r
169 <xsl:apply-templates />
\r
174 <xsl:variable name="leRefid" select="@cref" />
\r
175 <xsl:variable name="leExcNode" select="/Assembly/Class[@refid = $leRefid and @Access != 'private']"/>
\r
177 <xsl:when test="$leExcNode">
\r
178 <xsl:for-each select="$leExcNode">
\r
179 <xsl:call-template name="htmllink" />
\r
183 <xsl:value-of select="substring(@cref,3)" />
\r
188 <xsl:apply-templates />
\r
194 <!--xsl:template match="code">
\r
196 <xsl:apply-templates select="@* | node()" />
\r
199 <xsl:template match="item">
\r
201 <xsl:apply-templates select="@* | node()" />
\r
204 <!-- also do description and term tags, and other list types?-->
\r
205 <xsl:template match="list">
\r
207 <xsl:when test="@type='ordered'">
\r
209 <xsl:apply-templates select="@* | node()" />
\r
214 <xsl:apply-templates select="@* | node()" />
\r
219 <xsl:template match="para">
\r
221 <xsl:apply-templates select="@* | node()" />
\r
224 <xsl:template match="seealso">
\r
225 <xsl:text>See also</xsl:text>
\r
226 <xsl:variable name="leRefid" select="@cref" />
\r
227 <xsl:variable name="leNode" select="//*[@refid=$leRefid]" />
\r
228 <xsl:variable name="leFile" select="substring(ancestor::*[@refid and not(@Declared)]/@refid,3)" />
\r
230 <xsl:when test ="substring(@cref,1,2) = 'T:'">
\r
231 <xsl:element name="a">
\r
232 <xsl:attribute name="href">
\r
233 <xsl:value-of select="substring(@cref,3)" />
\r
234 <xsl:text>.htm</xsl:text>
\r
236 <xsl:value-of select="$leNode/Signature" />
\r
239 <xsl:when test="$leNode/@CDeclared=$leFile">
\r
240 <xsl:element name="a">
\r
241 <xsl:attribute name="href">
\r
242 #<xsl:value-of select="@cref" />
\r
244 <xsl:value-of select="$leNode/Signature" />
\r
248 <xsl:element name="a">
\r
249 <xsl:attribute name="href">
\r
250 <xsl:value-of select="$leNode/@CDeclared" />.htm#<xsl:value-of select="@cref" />
\r
252 <xsl:value-of select="$leNode/@Declared" />.<xsl:value-of select="$leNode/Signature" />
\r
257 <xsl:template match="see">
\r
258 <!--xsl:text>See </xsl:text-->
\r
259 <xsl:variable name="leRefid" select="@cref" />
\r
260 <xsl:variable name="leNode" select="//*[@refid=$leRefid]" />
\r
261 <xsl:variable name="leFile" select="substring(ancestor::*[@refid and not(@Declared)]/@refid,3)" />
\r
263 <xsl:when test ="substring(@cref,1,2) = 'T:'">
\r
264 <xsl:element name="a">
\r
265 <xsl:attribute name="href">
\r
266 <xsl:value-of select="substring(@cref,3)" />
\r
267 <xsl:text>.htm</xsl:text>
\r
269 <xsl:value-of select="$leNode/Signature" />
\r
272 <xsl:when test="$leNode/@CDeclared=$leFile">
\r
273 <xsl:element name="a">
\r
274 <xsl:attribute name="href">
\r
275 <xsl:text>#</xsl:text>
\r
276 <xsl:value-of select="@cref" />
\r
278 <xsl:value-of select="$leNode/Signature" />
\r
282 <xsl:element name="a">
\r
283 <xsl:attribute name="href">
\r
284 <xsl:value-of select="$leNode/@CDeclared" />.htm#<xsl:value-of select="@cref" />
\r
286 <xsl:value-of select="$leNode/@Declared" />.<xsl:value-of select="$leNode/Signature" />
\r
291 <xsl:template match="typeparam">
\r
294 <xsl:value-of select="@name" />
\r
297 <xsl:apply-templates />
\r
301 <xsl:template match="constraint">
\r
303 <td valign="top"></td>
\r
305 <xsl:value-of select="@Value" />
\r
309 <xsl:template match="@* | node()">
\r
311 <xsl:apply-templates select="@* | node()" />
\r
314 <!-- end templates for VS 2005 doc tags -->
\r
315 <xsl:template name="typeparams">
\r
316 <xsl:if test="typeparam">
\r
320 <b>Type parameters:</b>
\r
324 <xsl:apply-templates select="typeparam"/>
\r
325 <xsl:if test="constraint">
\r
328 <b>Constraints:</b>
\r
332 <xsl:apply-templates select="constraint"/>
\r
337 <xsl:template name="htmllink">
\r
339 <xsl:when test="@C5">
\r
340 <xsl:element name="a">
\r
341 <xsl:attribute name="href">
\r
343 <xsl:when test ="substring(@refid,1,2) = 'T:'">
\r
344 <xsl:value-of select="substring(@refid,3)" />
\r
345 <xsl:text>.htm</xsl:text>
\r
348 <xsl:value-of select="@CDeclared"/>.htm#<xsl:value-of select="@refid" />
\r
352 <xsl:apply-templates select="Signature" />
\r
356 <xsl:apply-templates select="Signature" />
\r
360 <xsl:template name="locallink">
\r
362 <xsl:when test="@refid">
\r
363 <xsl:element name="a">
\r
364 <xsl:attribute name="href">
\r
365 <xsl:text>#</xsl:text>
\r
366 <xsl:value-of select="concat(../@refid , '|',@refid)" />
\r
368 <xsl:apply-templates select="Signature" />
\r
372 <xsl:apply-templates select="Signature" />
\r
376 <xsl:template name="htmlname">
\r
378 <xsl:when test="@refid">
\r
380 <xsl:when test ="not(@Declared)">
\r
381 <!-- i.e. a type -->
\r
382 <xsl:element name="a">
\r
383 <xsl:attribute name="name">
\r
384 <xsl:value-of select="@refid" />
\r
386 <xsl:apply-templates select="Signature" />
\r
390 <!-- i.e. a member -->
\r
391 <xsl:element name="a">
\r
392 <xsl:attribute name="name">
\r
393 <xsl:value-of select="concat(../@refid , '|',@refid)" />
\r
395 <xsl:apply-templates select="Signature" />
\r
397 <xsl:if test ="not(@Inherited)">
\r
398 <!-- the canonical description -->
\r
399 <xsl:element name="a">
\r
400 <xsl:attribute name="name">
\r
401 <xsl:value-of select="@refid" />
\r
409 <xsl:apply-templates select="Signature" />
\r
413 <xsl:template name="ftable">
\r
414 <xsl:call-template name="table">
\r
415 <xsl:with-param name="type">Field</xsl:with-param>
\r
416 </xsl:call-template>
\r
418 <xsl:template name="etable">
\r
419 <xsl:call-template name="table">
\r
420 <xsl:with-param name="type">Event</xsl:with-param>
\r
421 </xsl:call-template>
\r
423 <xsl:template name="ptable">
\r
424 <xsl:call-template name="table">
\r
425 <xsl:with-param name="type">Property</xsl:with-param>
\r
426 </xsl:call-template>
\r
428 <xsl:template name="ctable">
\r
429 <xsl:call-template name="table">
\r
430 <xsl:with-param name="type">Constructor</xsl:with-param>
\r
431 </xsl:call-template>
\r
433 <xsl:template name="mtable">
\r
434 <xsl:call-template name="table">
\r
435 <xsl:with-param name="type" select="'Method'"/>
\r
436 </xsl:call-template>
\r
438 <xsl:template name="otable">
\r
439 <xsl:call-template name="table">
\r
440 <xsl:with-param name="type" select="'Operator'"/>
\r
441 </xsl:call-template>
\r
443 <xsl:template name="table">
\r
444 <xsl:param name="type" />
\r
445 <xsl:param name="protection" />
\r
446 <xsl:variable name="thenodes" select="*[name() = $type and @Access != 'private' and not(@Inherited)]" />
\r
447 <xsl:if test="$thenodes">
\r
449 <xsl:value-of select="$type" />
\r
450 <xsl:text> details</xsl:text>
\r
453 <xsl:for-each select="$thenodes">
\r
454 <xsl:sort select="@Name" />
\r
457 <xsl:if test="current()[@Virtual != 'True' and @Static != 'True']">
\r
458 <code class="greenbg">N</code>
\r
460 <xsl:if test="current()[@Final = 'True' and @Static != 'True']">
\r
461 <code class="greenbg">F</code>
\r
463 <xsl:if test="current()[@Abstract = 'True']">
\r
464 <code class="greenbg">A</code>
\r
466 <xsl:if test="current()[@Static = 'True']">
\r
467 <code class="greenbg">S</code>
\r
469 <xsl:if test="current()[@Access = 'protected']">
\r
470 <code class="greenbg">P</code>
\r
473 <xsl:text> </xsl:text>
\r
475 <xsl:when test="@ReturnType">
\r
476 <xsl:value-of select="@ReturnType"/>
\r
479 <xsl:value-of select="@Type"/>
\r
482 <xsl:text> </xsl:text>
\r
484 <xsl:call-template name="htmlname" />
\r
487 <!--xsl:if test="@Inherited">
\r
488 <xsl:text>Inherited from </xsl:text>
\r
489 <xsl:value-of select="@Declared"/>
\r
490 <xsl:text>: </xsl:text>
\r
491 <xsl:call-template name="htmllink" />
\r
493 <xsl:if test="not(@Inherited)">
\r
494 <xsl:if test="@Get">
\r
496 <xsl:if test="@Get='True' and @Set='True'">Read-Write</xsl:if>
\r
497 <xsl:if test="@Get='True' and @Set='False'">Read-Only</xsl:if>
\r
498 <xsl:if test="@Get='False' and @Set='True'">Write-Only</xsl:if>
\r
501 <xsl:apply-templates select="value" />
\r
502 <xsl:apply-templates select="summary" />
\r
503 <xsl:if test="exception">
\r
511 <xsl:apply-templates select="exception" />
\r
514 <xsl:call-template name="typeparams"/>
\r
515 <xsl:if test="current()[@ReturnType != 'void'] or param">
\r
517 <xsl:apply-templates select="returns" />
\r
518 <xsl:if test="param">
\r
524 <xsl:apply-templates select="param" />
\r
535 <xsl:template name="foverview">
\r
536 <xsl:call-template name="overview">
\r
537 <xsl:with-param name="type">Field</xsl:with-param>
\r
538 </xsl:call-template>
\r
540 <xsl:template name="eoverview">
\r
541 <xsl:call-template name="overview">
\r
542 <xsl:with-param name="type">Event</xsl:with-param>
\r
543 </xsl:call-template>
\r
545 <xsl:template name="poverview">
\r
546 <xsl:call-template name="overview">
\r
547 <xsl:with-param name="type">Property</xsl:with-param>
\r
548 </xsl:call-template>
\r
550 <xsl:template name="coverview">
\r
551 <xsl:call-template name="overview">
\r
552 <xsl:with-param name="type">Constructor</xsl:with-param>
\r
553 </xsl:call-template>
\r
555 <xsl:template name="moverview">
\r
556 <xsl:call-template name="overview">
\r
557 <xsl:with-param name="type">Method</xsl:with-param>
\r
558 </xsl:call-template>
\r
560 <xsl:template name="ooverview">
\r
561 <xsl:call-template name="overview">
\r
562 <xsl:with-param name="type">Operator</xsl:with-param>
\r
563 </xsl:call-template>
\r
565 <xsl:template name="overview">
\r
566 <xsl:param name="type" select="'[Unknown Locale]'" />
\r
567 <xsl:for-each select="*[name() = $type and @Access != 'private']">
\r
568 <xsl:sort select="@Name" />
\r
569 <xsl:if test="position() = 1">
\r
571 <xsl:value-of select="$type" />
\r
572 <xsl:text> overview</xsl:text>
\r
576 <xsl:when test="@Inherited">
\r
577 <xsl:call-template name="htmllink" />
\r
578 <xsl:text>, </xsl:text>
\r
579 <xsl:text>Inherited from </xsl:text>
\r
580 <xsl:value-of select="@Declared"/>
\r
583 <xsl:call-template name="locallink" />
\r
586 <xsl:if test="position()!=last()">
\r