source: BMXNET_RPMS_dotNET_UTILITIES-BMX/branch/IHS BMX Framework/IndianHealthService.BMXNet.Doc/Help/Presentation/Style/Transforms/utilities_reference.xsl@ 1146

Last change on this file since 1146 was 1146, checked in by Sam Habiel, 13 years ago

Initial Import of BMX4

File size: 104.8 KB
Line 
1<?xml version="1.0"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
3 xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
4 xmlns:mshelp="http://msdn.microsoft.com/mshelp"
5 xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
6 xmlns:xlink="http://www.w3.org/1999/xlink"
7 xmlns:msxsl="urn:schemas-microsoft-com:xslt"
8 >
9
10 <xsl:import href="../../shared/transforms/utilities_reference.xsl"/>
11
12 <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" />
13<!--
14 <xsl:output method="xml" omit-xml-declaration="yes" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd" />
15-->
16 <!-- key parameter is the api identifier string -->
17 <xsl:param name="key" />
18 <xsl:param name="metadata" value="false" />
19 <xsl:param name="languages">false</xsl:param>
20 <xsl:param name="useOverloadRowsInMemberlists" select="false()"/>
21
22 <xsl:include href="utilities_metadata.xsl" />
23 <xsl:include href="xamlSyntax.xsl"/>
24
25 <xsl:template match="/">
26 <html>
27 <head>
28 <META NAME="save" CONTENT="history"/>
29 <title><xsl:call-template name="topicTitlePlain"/></title>
30 <xsl:call-template name="insertStylesheets" />
31 <xsl:call-template name="insertScripts" />
32 <xsl:call-template name="insertFilename" />
33 <xsl:call-template name="insertMetadata" />
34 </head>
35 <body>
36
37 <xsl:call-template name="upperBodyStuff"/>
38 <!--<xsl:call-template name="control"/>-->
39 <xsl:call-template name="main"/>
40 </body>
41 </html>
42 </xsl:template>
43
44 <!-- useful global variables -->
45
46 <xsl:variable name="group">
47 <xsl:choose>
48 <xsl:when test="/document/reference/topicdata/@group = 'api'">
49 <xsl:value-of select="/document/reference/apidata/@group" />
50 </xsl:when>
51 <xsl:otherwise>
52 <xsl:value-of select="/document/reference/topicdata/@group" />
53 </xsl:otherwise>
54 </xsl:choose>
55 </xsl:variable>
56
57 <xsl:variable name="subgroup">
58 <xsl:choose>
59 <xsl:when test="/document/reference/topicdata/@group = 'api'">
60 <xsl:value-of select="/document/reference/apidata/@subgroup" />
61 </xsl:when>
62 <xsl:otherwise>
63 <xsl:value-of select="/document/reference/topicdata/@subgroup" />
64 </xsl:otherwise>
65 </xsl:choose>
66 </xsl:variable>
67
68 <xsl:variable name="subsubgroup">
69 <xsl:choose>
70 <xsl:when test="/document/reference/topicdata/@group = 'api'">
71 <xsl:value-of select="/document/reference/apidata/@subsubgroup" />
72 </xsl:when>
73 <xsl:otherwise>
74 <xsl:value-of select="/document/reference/topicdata/@subsubgroup" />
75 </xsl:otherwise>
76 </xsl:choose>
77 </xsl:variable>
78
79 <xsl:variable name="pseudo" select="boolean(/document/reference/topicdata[@pseudo='true'])"/>
80
81 <xsl:variable name="namespaceName">
82 <xsl:value-of select="substring-after(/document/reference/containers/namespace/@api,':')"/>
83 </xsl:variable>
84
85
86 <!-- document head -->
87
88 <xsl:template name="insertStylesheets">
89 <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
90 <!-- make mshelp links work -->
91 <link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" />
92 <link rel="stylesheet" type="text/css" href="ms-help://Dx/DxRuntime/DxLink.css" />
93 </xsl:template>
94
95 <xsl:template name="insertScripts">
96 <script type="text/javascript">
97 <includeAttribute name="src" item="scriptPath"><parameter>EventUtilities.js</parameter></includeAttribute>
98 <xsl:text> </xsl:text>
99 </script>
100 <script type="text/javascript">
101 <includeAttribute name="src" item="scriptPath"><parameter>SplitScreen.js</parameter></includeAttribute>
102 <xsl:text> </xsl:text>
103 </script>
104 <script type="text/javascript">
105 <includeAttribute name="src" item="scriptPath"><parameter>Dropdown.js</parameter></includeAttribute>
106 <xsl:text> </xsl:text>
107 </script>
108 <script type="text/javascript">
109 <includeAttribute name="src" item="scriptPath"><parameter>script_manifold.js</parameter></includeAttribute>
110 <xsl:text> </xsl:text>
111 </script>
112 <script type="text/javascript">
113 <includeAttribute name="src" item="scriptPath"><parameter>LanguageFilter.js</parameter></includeAttribute>
114 <xsl:text> </xsl:text>
115 </script>
116 <script type="text/javascript">
117 <includeAttribute name="src" item="scriptPath"><parameter>DataStore.js</parameter></includeAttribute>
118 <xsl:text> </xsl:text>
119 </script>
120 <script type="text/javascript">
121 <includeAttribute name="src" item="scriptPath"><parameter>CommonUtilities.js</parameter></includeAttribute>
122 <xsl:text> </xsl:text>
123 </script>
124 <script type="text/javascript">
125 <includeAttribute name="src" item="scriptPath">
126 <parameter>MemberFilter.js</parameter>
127 </includeAttribute>
128 <xsl:text> </xsl:text>
129 </script>
130 </xsl:template>
131
132 <xsl:template match="parameters">
133 <div id="parameters">
134 <xsl:call-template name="subSection">
135 <xsl:with-param name="title">
136 <include item="parametersTitle"/>
137 </xsl:with-param>
138 <xsl:with-param name="content">
139 <xsl:for-each select="parameter">
140 <xsl:variable name="paramName" select="@name"/>
141 <dl paramName="{$paramName}">
142 <dt>
143 <span class="parameter">
144 <xsl:value-of select="$paramName"/>
145 </span>
146 </dt>
147 <dd>
148 <xsl:apply-templates select="*[1]" mode="link" />
149 <!--
150 <xsl:choose>
151 <xsl:when test="type">
152 <xsl:call-template name="typeReferenceLink">
153 <xsl:with-param name="api" select="type/@api" />
154 <xsl:with-param name="qualified" select="true()" />
155 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
156 </xsl:call-template>
157 <xsl:apply-templates select="type/specialization" />
158 </xsl:when>
159 <xsl:otherwise>
160 <xsl:apply-templates select="*[1]" />
161 </xsl:otherwise>
162 </xsl:choose>
163 -->
164 <br />
165 <xsl:call-template name="getParameterDescription">
166 <xsl:with-param name="name" select="@name" />
167 </xsl:call-template>
168 </dd>
169 </dl>
170 </xsl:for-each>
171 </xsl:with-param>
172 </xsl:call-template>
173 </div>
174 </xsl:template>
175
176 <xsl:template match="implements">
177 <xsl:if test="member">
178 <xsl:call-template name="subSection">
179 <xsl:with-param name="title">
180 <include item="implementsTitle" />
181 </xsl:with-param>
182 <xsl:with-param name="content">
183 <xsl:for-each select="member">
184 <referenceLink target="{@api}" qualified="true" />
185 <br />
186 </xsl:for-each>
187 </xsl:with-param>
188 </xsl:call-template>
189 </xsl:if>
190 </xsl:template>
191
192 <xsl:template match="element" mode="root">
193 <tr>
194 <td>
195 <xsl:choose>
196 <xsl:when test="apidata/@name = ''">
197 <referenceLink target="{@api}" qualified="false">
198 <include item="defaultNamespace" />
199 </referenceLink>
200 </xsl:when>
201 <xsl:otherwise>
202 <xsl:call-template name="createReferenceLink">
203 <xsl:with-param name="id" select="@api" />
204 </xsl:call-template>
205 </xsl:otherwise>
206 </xsl:choose>
207 </td>
208 <td>
209 <xsl:call-template name="getElementDescription" />
210 </td>
211 </tr>
212 </xsl:template>
213
214 <xsl:template match="element" mode="namespace">
215 <xsl:variable name="typeVisibility">
216 <xsl:choose>
217 <xsl:when test="typedata/@visibility='family' or typedata/@visibility='family or assembly' or typedata/@visibility='assembly'">prot</xsl:when>
218 <xsl:when test="typedata/@visibility='private'">priv</xsl:when>
219 <xsl:otherwise>pub</xsl:otherwise>
220 </xsl:choose>
221 </xsl:variable>
222 <tr>
223 <xsl:attribute name="data">
224 <xsl:value-of select="apidata/@subgroup" />
225 <xsl:text>; public</xsl:text>
226 </xsl:attribute>
227 <td>
228 <xsl:call-template name="typeIcon">
229 <xsl:with-param name="typeVisibility" select="$typeVisibility" />
230 </xsl:call-template>
231 </td>
232 <td>
233 <xsl:call-template name="createReferenceLink">
234 <xsl:with-param name="id" select="@api" />
235 </xsl:call-template>
236 </td>
237 <td>
238 <xsl:call-template name="getInternalOnlyDescription" />
239 <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
240 <xsl:text> </xsl:text>
241 <include item="obsoleteRed" />
242 </xsl:if>
243 <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
244 <xsl:text> </xsl:text>
245 <include item="hostProtectionAttributeShort" />
246 </xsl:if>
247 <xsl:call-template name="getElementDescription" />
248 </td>
249 </tr>
250 </xsl:template>
251
252 <xsl:template match="element" mode="member">
253 <xsl:variable name="inheritedMember">
254 <xsl:call-template name="IsMemberInherited"/>
255 </xsl:variable>
256 <xsl:variable name="staticMember">
257 <xsl:call-template name="IsMemberStatic"/>
258 </xsl:variable>
259 <xsl:variable name="supportedOnXna">
260 <xsl:call-template name="IsMemberSupportedOnXna"/>
261 </xsl:variable>
262 <xsl:variable name="supportedOnCf">
263 <xsl:call-template name="IsMemberSupportedOnCf"/>
264 </xsl:variable>
265 <xsl:variable name="protectedMember">
266 <xsl:call-template name="IsMemberProtected"/>
267 </xsl:variable>
268 <tr>
269 <xsl:attribute name="data">
270 <xsl:choose>
271 <xsl:when test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
272 <xsl:text>explicit</xsl:text>
273 </xsl:when>
274 <xsl:when test="apidata/@subsubgroup">
275 <xsl:value-of select="apidata/@subsubgroup"/>
276 </xsl:when>
277 <xsl:otherwise>
278 <xsl:value-of select="apidata/@subgroup" />
279 </xsl:otherwise>
280 </xsl:choose>
281 <xsl:choose>
282 <xsl:when test="memberdata/@visibility='public'">
283 <xsl:text>; public</xsl:text>
284 </xsl:when>
285 <xsl:when test="normalize-space($protectedMember)!=''">
286 <xsl:text>; protected</xsl:text>
287 </xsl:when>
288 <xsl:otherwise>
289 <xsl:text>; public</xsl:text>
290 </xsl:otherwise>
291 </xsl:choose>
292 <xsl:choose>
293 <xsl:when test="normalize-space($staticMember)!=''">
294 <xsl:text>; static</xsl:text>
295 </xsl:when>
296 <xsl:otherwise>
297 <xsl:text>; instance</xsl:text>
298 </xsl:otherwise>
299 </xsl:choose>
300 <xsl:choose>
301 <xsl:when test="normalize-space($inheritedMember)!=''">
302 <xsl:text>; inherited</xsl:text>
303 </xsl:when>
304 <xsl:otherwise>
305 <xsl:text>; declared</xsl:text>
306 </xsl:otherwise>
307 </xsl:choose>
308 <xsl:choose>
309 <xsl:when test="normalize-space($supportedOnCf)!=''">
310 <xsl:text>; compact</xsl:text>
311 </xsl:when>
312 <xsl:otherwise>
313 <xsl:text>; none</xsl:text>
314 </xsl:otherwise>
315 </xsl:choose>
316 <xsl:choose>
317 <xsl:when test="normalize-space($supportedOnXna)!=''">
318 <xsl:text>; xna</xsl:text>
319 </xsl:when>
320 <xsl:otherwise>
321 <xsl:text>; none</xsl:text>
322 </xsl:otherwise>
323 </xsl:choose>
324 </xsl:attribute>
325 <td>
326 <xsl:call-template name="memberIcons">
327 <xsl:with-param name="memberVisibility">
328 <xsl:choose>
329 <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when>
330 <xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
331 <xsl:when test="memberdata[@visibility='public']">pub</xsl:when>
332 <xsl:otherwise>pub</xsl:otherwise>
333 </xsl:choose>
334 </xsl:with-param>
335 <xsl:with-param name="staticMember" select="normalize-space($staticMember)" />
336 <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/>
337 <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/>
338 </xsl:call-template>
339 </td>
340 <td>
341 <xsl:choose>
342 <xsl:when test="@display-api">
343 <referenceLink target="{@api}" display-target="{@display-api}" />
344 </xsl:when>
345 <xsl:otherwise>
346 <referenceLink target="{@api}" />
347 </xsl:otherwise>
348 </xsl:choose>
349 </td>
350 <td>
351 <xsl:call-template name="getInternalOnlyDescription" />
352 <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
353 <xsl:text> </xsl:text>
354 <include item="obsoleteRed" />
355 </xsl:if>
356 <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
357 <xsl:text> </xsl:text>
358 <include item="hostProtectionAttributeShort" />
359 </xsl:if>
360 <xsl:if test="memberdata[@overload='true']">
361 <include item="Overloaded"/>
362 <xsl:text> </xsl:text>
363 </xsl:if>
364 <xsl:call-template name="getElementDescription" />
365 <xsl:choose>
366 <xsl:when test="@signatureset">
367 <!-- TODO add boilerplate for other members in the sig set -->
368 </xsl:when>
369 <xsl:when test="not(topicdata[@subgroup='overload'])">
370 <xsl:choose>
371 <xsl:when test="normalize-space($inheritedMember)!=''">
372 <xsl:text> </xsl:text>
373 <include item="inheritedFrom">
374 <parameter>
375 <xsl:apply-templates select="containers/type" mode="link" />
376 <!--
377 <xsl:call-template name="typeReferenceLink">
378 <xsl:with-param name="api" select="containers/type/@api" />
379 <xsl:with-param name="qualified" select="false()" />
380 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
381 </xsl:call-template>
382 <xsl:apply-templates select="type/specialization" />
383 -->
384 </parameter>
385 </include>
386 </xsl:when>
387 <xsl:when test="overrides/member">
388 <xsl:text> </xsl:text>
389 <include item="overridesMember">
390 <parameter>
391 <xsl:call-template name="createReferenceLink">
392 <xsl:with-param name="id" select="overrides/member/@api"/>
393 <xsl:with-param name="qualified" select="true()"/>
394 </xsl:call-template>
395 </parameter>
396 </include>
397 </xsl:when>
398 </xsl:choose>
399 </xsl:when>
400 </xsl:choose>
401 </td>
402 </tr>
403 </xsl:template>
404
405 <xsl:template match="element" mode="enumeration">
406 <tr>
407 <xsl:variable name="id" select="@api" />
408 <td target="{$id}">
409 <span class="referenceNoLink"><xsl:value-of select="apidata/@name"/></span>
410 </td>
411 <td>
412 <xsl:call-template name="getElementDescription" />
413 </td>
414 </tr>
415 </xsl:template>
416
417 <xsl:template match="element" mode="derivedType">
418 <tr>
419 <td>
420 <xsl:choose>
421 <xsl:when test="@display-api">
422 <referenceLink target="{@api}" display-target="{@display-api}" />
423 </xsl:when>
424 <xsl:otherwise>
425 <referenceLink target="{@api}" />
426 </xsl:otherwise>
427 </xsl:choose>
428 </td>
429 <td>
430
431 <xsl:call-template name="getInternalOnlyDescription" />
432 <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
433 <xsl:text> </xsl:text>
434 <include item="obsoleteRed" />
435 </xsl:if>
436 <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
437 <xsl:text> </xsl:text>
438 <include item="hostProtectionAttributeShort" />
439 </xsl:if>
440 <xsl:call-template name="getElementDescription" />
441 <xsl:choose>
442 <xsl:when test="($group != 'member') and ($subgroup != 'DerivedTypeList') and not(contains($key, containers/type/@api))">
443 <xsl:text> </xsl:text>
444 <include item="inheritedFrom">
445 <parameter>
446 <xsl:apply-templates select="containers/type" mode="link" />
447 <!--
448 <xsl:call-template name="typeReferenceLink">
449 <xsl:with-param name="api" select="containers/type/@api" />
450 <xsl:with-param name="qualified" select="false()" />
451 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
452 </xsl:call-template>
453 <xsl:apply-templates select="type/specialization" />
454 -->
455 </parameter>
456 </include>
457 </xsl:when>
458 <xsl:when test="overrides">
459 <xsl:text> </xsl:text>
460 <include item="overridesMember">
461 <parameter>
462 <xsl:apply-templates select="overrides/member" />
463 </parameter>
464 </include>
465 </xsl:when>
466 </xsl:choose>
467 </td>
468 </tr>
469
470
471 </xsl:template>
472
473 <xsl:template match="element" mode="overload">
474 <tr>
475 <xsl:attribute name="data">
476 <xsl:value-of select="apidata/@subgroup" />
477 <xsl:choose>
478 <xsl:when test="memberdata/@visibility='public'">
479 <xsl:text>; public</xsl:text>
480 </xsl:when>
481 <xsl:when test="memberdata/@visibility='family'">
482 <xsl:text>; protected</xsl:text>
483 </xsl:when>
484 <xsl:otherwise>
485 <xsl:text>; public</xsl:text>
486 </xsl:otherwise>
487 </xsl:choose>
488 <xsl:choose>
489 <xsl:when test="memberdata/@static = 'true'">
490 <xsl:text>; static</xsl:text>
491 </xsl:when>
492 <xsl:otherwise>
493 <xsl:text>; instance</xsl:text>
494 </xsl:otherwise>
495 </xsl:choose>
496 <xsl:choose>
497 <xsl:when test="string(containers/type/@api) = $key">
498 <xsl:text>; declared</xsl:text>
499 </xsl:when>
500 <xsl:otherwise>
501 <xsl:text>; inherited</xsl:text>
502 </xsl:otherwise>
503 </xsl:choose>
504 </xsl:attribute>
505 <td>
506 <xsl:choose>
507 <xsl:when test="@display-api">
508 <referenceLink target="{@api}" display-target="{@display-api}" />
509 </xsl:when>
510 <xsl:otherwise>
511 <referenceLink target="{@api}" />
512 </xsl:otherwise>
513 </xsl:choose>
514 </td>
515 <td>
516 <xsl:call-template name="getInternalOnlyDescription" />
517 <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
518 <xsl:text> </xsl:text>
519 <include item="obsoleteRed" />
520 </xsl:if>
521 <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
522 <xsl:text> </xsl:text>
523 <include item="hostProtectionAttributeShort" />
524 </xsl:if>
525 <xsl:call-template name="getElementDescription" />
526 <xsl:choose>
527 <xsl:when test="($group != 'member') and ($subgroup != 'overload') and not(contains($key, containers/type/@api))">
528 <xsl:text> </xsl:text>
529 <include item="inheritedFrom">
530 <parameter>
531 <xsl:apply-templates select="containers/type" mode="link" />
532 <!--
533 <xsl:call-template name="typeReferenceLink">
534 <xsl:with-param name="api" select="containers/type/@api" />
535 <xsl:with-param name="qualified" select="false()" />
536 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
537 </xsl:call-template>
538 <xsl:apply-templates select="type/specialization" />
539 -->
540 </parameter>
541 </include>
542 </xsl:when>
543 <xsl:when test="overrides">
544 <xsl:text> </xsl:text>
545 <include item="overridesMember">
546 <parameter>
547 <xsl:apply-templates select="overrides/member" />
548 </parameter>
549 </include>
550 </xsl:when>
551 </xsl:choose>
552
553 </td>
554 </tr>
555 </xsl:template>
556
557 <xsl:template name="insertFilename">
558 <meta name="guid">
559 <xsl:attribute name="content">
560 <xsl:value-of select="/document/reference/file/@name" />
561 </xsl:attribute>
562 </meta>
563 </xsl:template>
564
565 <!-- writing templates -->
566
567 <xsl:template name="csTemplates">
568 <xsl:param name="seperator" select="string(',')" />
569 <xsl:text>&lt;</xsl:text>
570 <xsl:for-each select="template">
571 <xsl:value-of select="@name" />
572 <xsl:if test="not(position()=last())">
573 <xsl:value-of select="$seperator" />
574 </xsl:if>
575 </xsl:for-each>
576 <xsl:text>&gt;</xsl:text>
577 </xsl:template>
578
579 <xsl:template name="csTemplatesInIndex" >
580 <xsl:text>%3C</xsl:text>
581 <xsl:for-each select="template">
582 <xsl:value-of select="@name" />
583 <xsl:if test="not(position()=last())">
584 <xsl:text>%2C </xsl:text>
585 </xsl:if>
586 </xsl:for-each>
587 <xsl:text>%3E</xsl:text>
588 </xsl:template>
589
590 <xsl:template name="vbTemplates">
591 <xsl:param name="seperator" select="string(',')" />
592 <xsl:text>(Of </xsl:text>
593 <xsl:for-each select="template">
594 <xsl:value-of select="@name" />
595 <xsl:if test="not(position()=last())">
596 <xsl:value-of select="$seperator" />
597 </xsl:if>
598 </xsl:for-each>
599 <xsl:text>)</xsl:text>
600 </xsl:template>
601
602 <xsl:template name="typeTitle">
603 <xsl:if test="containers/container[@type]">
604 <xsl:for-each select="containers/container[@type]">
605 <xsl:call-template name="typeTitle" />
606 </xsl:for-each>
607 <xsl:text>.</xsl:text>
608 </xsl:if>
609 <xsl:value-of select="apidata/@name" />
610 <xsl:if test="count(templates/template) > 0">
611 <xsl:for-each select="templates"><xsl:call-template name="csTemplates" /></xsl:for-each>
612 </xsl:if>
613 </xsl:template>
614
615 <!-- document body -->
616
617 <!-- control window -->
618
619 <xsl:template name="control">
620 <div id="control">
621 <span class="topicTitle"><xsl:call-template name="topicTitleDecorated" /></span><br/>
622 </div>
623 </xsl:template>
624
625 <!-- Title in topic -->
626
627 <!-- Title in topic -->
628
629 <xsl:template name="topicTitlePlain">
630 <xsl:param name="qualifyMembers" select="false()" />
631 <include>
632 <xsl:attribute name="item">
633 <xsl:if test="boolean(/document/reference/templates) and not($group='list')">
634 <xsl:text>generic_</xsl:text>
635 </xsl:if>
636 <xsl:choose>
637 <xsl:when test="string($subsubgroup)">
638 <xsl:value-of select="$subsubgroup" />
639 </xsl:when>
640 <xsl:when test="string($subgroup)">
641 <xsl:choose>
642 <xsl:when test="$subgroup='overload'">
643 <xsl:value-of select="/document/reference/apidata/@subgroup"/>
644 </xsl:when>
645 <xsl:otherwise>
646 <xsl:value-of select="$subgroup" />
647 </xsl:otherwise>
648 </xsl:choose>
649 </xsl:when>
650 <xsl:otherwise>
651 <xsl:value-of select="$group" />
652 </xsl:otherwise>
653 </xsl:choose>
654 <xsl:text>TopicTitle</xsl:text>
655 </xsl:attribute>
656 <parameter>
657 <xsl:call-template name="shortNamePlain">
658 <xsl:with-param name="qualifyMembers" select="$qualifyMembers" />
659 </xsl:call-template>
660 </parameter>
661 <parameter>
662 <xsl:if test="document/reference/memberdata/@overload" >
663 <xsl:for-each select="/document/reference">
664 <xsl:call-template name="parameterTypesPlain" />
665 </xsl:for-each>
666 </xsl:if>
667 </parameter>
668 </include>
669 </xsl:template>
670
671 <xsl:template name="topicTitleDecorated">
672 <xsl:param name="titleType" />
673 <include>
674 <xsl:attribute name="item">
675 <xsl:choose>
676 <xsl:when test="$titleType = 'tocTitle' and $group='namespace'">
677 <xsl:text>tocTitle</xsl:text>
678 </xsl:when>
679 <xsl:otherwise>
680 <xsl:choose>
681 <xsl:when test="string($subsubgroup)">
682 <xsl:value-of select="$subsubgroup" />
683 </xsl:when>
684 <xsl:when test="string($subgroup)">
685 <xsl:choose>
686 <xsl:when test="$subgroup='overload'">
687 <xsl:value-of select="/document/reference/apidata/@subgroup" />
688 </xsl:when>
689 <xsl:otherwise>
690 <xsl:value-of select="$subgroup" />
691 </xsl:otherwise>
692 </xsl:choose>
693 </xsl:when>
694 <xsl:otherwise>
695 <xsl:value-of select="$group" />
696 </xsl:otherwise>
697 </xsl:choose>
698 <xsl:text>TopicTitle</xsl:text>
699 </xsl:otherwise>
700 </xsl:choose>
701 </xsl:attribute>
702 <parameter>
703 <xsl:call-template name="shortNameDecorated">
704 <xsl:with-param name="titleType" select="$titleType" />
705 </xsl:call-template>
706 </parameter>
707 <parameter>
708 <xsl:if test="document/reference/memberdata/@overload" >
709 <xsl:for-each select="/document/reference">
710 <xsl:call-template name="parameterTypesDecorated" />
711 </xsl:for-each>
712 </xsl:if>
713 </parameter>
714 </include>
715 </xsl:template>
716
717
718 <!-- Title in TOC -->
719
720 <!-- Index entry -->
721
722 <!-- main window -->
723
724 <xsl:template name="main">
725 <div id="mainSection">
726
727 <div id="mainBody">
728 <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()"/>
729 <xsl:call-template name="head" />
730 <xsl:call-template name="body" />
731 <xsl:call-template name="foot" />
732 </div>
733 </div>
734
735 </xsl:template>
736
737 <xsl:template name="head">
738 <include item="header" />
739 </xsl:template>
740
741 <xsl:template name="syntaxBlocks">
742 <table class="filter" cellspacing="0" cellpadding="0">
743 <tr id="curvedSyntaxTabs">
744 <xsl:for-each select="div[@codeLanguage]">
745 <td class="leftTab" x-lang="{@codeLanguage}">&#xa0;</td>
746 <td class="middleTab" x-lang="{@codeLanguage}">&#xa0;</td>
747 <td class="rightTab" x-lang="{@codeLanguage}">&#xa0;</td>
748 </xsl:for-each>
749 </tr>
750 <tr class="tabs" id="syntaxTabs">
751 <xsl:for-each select="div[@codeLanguage]">
752
753 <xsl:variable name="style">
754 <xsl:call-template name="languageCheck">
755 <xsl:with-param name="codeLanguage" select="@codeLanguage" />
756 </xsl:call-template>
757 </xsl:variable>
758
759 <xsl:variable name="languageEvent">
760 <xsl:choose>
761 <xsl:when test="$style != ''">
762 <xsl:text>changeLanguage(data, '</xsl:text><xsl:value-of select="@codeLanguage"/>
763 <xsl:text>', '</xsl:text><xsl:value-of select="$style" />
764 <xsl:text>');</xsl:text>
765 </xsl:when>
766 <xsl:otherwise>
767 <xsl:text>toggleClass('syntaxTabs','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
768 <xsl:text>','activeTab','tab'); curvedToggleClass('curvedSyntaxTabs','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
769 <xsl:text>');toggleStyle('syntaxBlocks','x-lang','</xsl:text><xsl:value-of select="@codeLanguage"/>
770 <xsl:text>','display','block','none');</xsl:text>
771 </xsl:otherwise>
772 </xsl:choose>
773 </xsl:variable>
774
775 <td class="leftGrad" x-lang="{@codeLanguage}">&#xa0;</td>
776 <td class="tab" x-lang="{@codeLanguage}" onclick="{$languageEvent}"><include item="{@codeLanguage}Label" /></td>
777 <td class="rightGrad" x-lang="{@codeLanguage}">&#xa0;</td>
778 </xsl:for-each>
779 </tr>
780 </table>
781 <div id="syntaxBlocks">
782 <xsl:for-each select="div[@codeLanguage]">
783 <xsl:variable name="language" select="@codeLanguage" />
784 <div class="code" x-lang="{@codeLanguage}">
785 <xsl:if test="/document/USyntax/div/@codeLanguage = $language">
786 <div id="{$language}Declaration" onclick="toggleSelect({$language}DeclarationImage,{$language}DeclarationSection);">
787 <img id="{$language}DeclarationImage" onmouseover="mouseOverCheck({$language}DeclarationImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)" onmouseout="mouseOutCheck({$language}DeclarationImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)">
788 <includeAttribute name="src" item="iconPath">
789 <parameter>twirl_selected.gif</parameter>
790 </includeAttribute>
791 <xsl:text>&#xa0;</xsl:text>
792 <span class="syntaxLabel"><include item="declarationLabel" /></span>
793 </img>
794 </div>
795 <br/>
796 </xsl:if>
797 <div id="{$language}DeclarationSection">
798 <pre><xsl:copy-of select="./node()" /></pre>
799 </div>
800 <xsl:for-each select="/document/USyntax/div[@codeLanguage]">
801 <xsl:if test="@codeLanguage = $language">
802 <div id="{$language}Usage" onclick="toggleSelect({$language}UsageImage,{$language}UsageSection);">
803 <img id="{$language}UsageImage" onmouseover="mouseOverCheck({$language}UsageImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)" onmouseout="mouseOutCheck({$language}UsageImage,twirlSelectImage,twirlUnSelectImage,twirlSelectHoverImage,twirlUnSelectHoverImage)">
804 <includeAttribute name="src" item="iconPath">
805 <parameter>twirl_selected.gif</parameter>
806 </includeAttribute>
807 <xsl:text>&#xa0;</xsl:text>
808 <span class="syntaxLabel"><include item="usageLabel" /></span>
809 </img>
810 </div>
811 <div id="{$language}UsageSection">
812 <pre><xsl:copy-of select="./node()" /></pre>
813 </div>
814 </xsl:if>
815 </xsl:for-each>
816 </div>
817 </xsl:for-each>
818 </div>
819 </xsl:template>
820
821 <xsl:template name="languageSyntaxBlock">
822 <xsl:param name="language" select="@codeLanguage"/>
823 <span codeLanguage="{$language}">
824 <table>
825 <tr>
826 <th>
827 <include item="{$language}" />
828 </th>
829 </tr>
830 <tr>
831 <td>
832 <pre xml:space="preserve"><xsl:text/><xsl:copy-of select="node()"/><xsl:text/></pre>
833 </td>
834 </tr>
835 </table>
836 </span>
837 </xsl:template>
838
839 <xsl:template match="elements" mode="root">
840 <xsl:if test="count(element) > 0">
841
842 <xsl:call-template name="section">
843 <xsl:with-param name="toggleSwitch" select="'namespaces'"/>
844 <xsl:with-param name="title"><include item="namespacesTitle" /></xsl:with-param>
845 <xsl:with-param name="content">
846 <div class="listsection">
847 <table class="members" id="memberList" frame="lhs" cellspacing="0">
848 <tr>
849 <th class="nameColumn">
850 <include item="namespaceNameHeader"/>
851 </th>
852 <th class="descriptionColumn">
853 <include item="namespaceDescriptionHeader" />
854 </th>
855 </tr>
856 <xsl:apply-templates select="element" mode="root">
857 <xsl:sort select="apidata/@name" />
858 </xsl:apply-templates>
859 </table>
860 </div>
861 </xsl:with-param>
862 </xsl:call-template>
863 </xsl:if>
864 </xsl:template>
865
866 <xsl:template name="namespaceSection">
867 <xsl:param name="listSubgroup" />
868 <xsl:variable name="header" select="concat($listSubgroup, 'TypesFilterLabel')"/>
869 <xsl:call-template name="section">
870 <xsl:with-param name="toggleSwitch" select="$listSubgroup"/>
871 <xsl:with-param name="title">
872 <include item="{$header}" />
873 </xsl:with-param>
874 <xsl:with-param name="content">
875 <xsl:call-template name="namespaceList">
876 <xsl:with-param name="listSubgroup" select="$listSubgroup" />
877 </xsl:call-template>
878 </xsl:with-param>
879 </xsl:call-template>
880 </xsl:template>
881
882 <xsl:template match="elements" mode="namespace">
883 <xsl:call-template name="section">
884 <xsl:with-param name="toggleSwitch" select="'types'" />
885 <xsl:with-param name="title">
886 <include item="typesTitle" />
887 </xsl:with-param>
888 <xsl:with-param name="content">
889 <div id="typeSection">
890 <table class="filter" cellspacing="0" cellpadding="0">
891 <tr id="curvedTypeTabs">
892 <td class="leftTab" value="all">&#xa0;</td>
893 <td class="middleTab" value="all">&#xa0;</td>
894 <td class="rightTab" value="all">&#xa0;</td>
895 <xsl:if test="element/apidata[@subgroup='class']">
896 <td class="leftTab" value="class">&#xa0;</td>
897 <td class="middleTab" value="class">&#xa0;</td>
898 <td class="rightTab" value="class">&#xa0;</td>
899 </xsl:if>
900 <xsl:if test="element/apidata[@subgroup='structure']">
901 <td class="leftTab" value="structure">&#xa0;</td>
902 <td class="middleTab" value="structure">&#xa0;</td>
903 <td class="rightTab" value="structure">&#xa0;</td>
904 </xsl:if>
905 <xsl:if test="element/apidata[@subgroup='interface']">
906 <td class="leftTab" value="interface">&#xa0;</td>
907 <td class="middleTab" value="interface">&#xa0;</td>
908 <td class="rightTab" value="interface">&#xa0;</td>
909 </xsl:if>
910 <xsl:if test="element/apidata[@subgroup='enumeration']">
911 <td class="leftTab" value="enumeration">&#xa0;</td>
912 <td class="middleTab" value="enumeration">&#xa0;</td>
913 <td class="rightTab" value="enumeration">&#xa0;</td>
914 </xsl:if>
915 <xsl:if test="element/apidata[@subgroup='delegate']">
916 <td class="leftTab" value="delegate">&#xa0;</td>
917 <td class="middleTab" value="delegate">&#xa0;</td>
918 <td class="rightTab" value="delegate">&#xa0;</td>
919 </xsl:if>
920 </tr>
921 <tr class="tabs" id="typeFilter">
922 <td class="leftGrad" value="all">&#xa0;</td>
923 <td class="tab" value="all" onclick="toggleClass('typeFilter','value','all','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','all');processSubgroup('all', 'type'); process('typeList','filterElement','type');">
924 <include item="allTypesFilterLabel" />
925 </td>
926 <td class="rightGrad" value="all">&#xa0;</td>
927 <xsl:if test="element/apidata[@subgroup='class']">
928 <td class="leftGrad" value="class">&#xa0;</td>
929 <td class="tab" value="class" onclick="toggleClass('typeFilter','value','class','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','class'); processSubgroup('class', 'type'); process('typeList','filterElement','type');">
930 <include item="classTypesFilterLabel" />
931 <xsl:text>&#xa0;</xsl:text>
932 <img>
933 <includeAttribute name="src" item="iconPath">
934 <parameter>pubclass.gif</parameter>
935 </includeAttribute>
936 <includeAttribute name="title" item="pubClassAltText" />
937 </img>
938 </td>
939 <td class="rightGrad" value="class">&#xa0;</td>
940 </xsl:if>
941 <xsl:if test="element/apidata[@subgroup='structure']">
942 <td class="leftGrad" value="structure">&#xa0;</td>
943 <td class="tab" value="structure" onclick="toggleClass('typeFilter','value','structure','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','structure'); processSubgroup('structure', 'type'); process('typeList','filterElement','type');">
944 <include item="structureTypesFilterLabel" />
945 <img>
946 <includeAttribute name="src" item="iconPath">
947 <parameter>pubstructure.gif</parameter>
948 </includeAttribute>
949 <includeAttribute name="title" item="pubStructureAltText" />
950 </img>
951 </td>
952 <td class="rightGrad" value="structure">&#xa0;</td>
953 </xsl:if>
954 <xsl:if test="element/apidata[@subgroup='interface']">
955 <td class="leftGrad" value="interface">&#xa0;</td>
956 <td class="tab" value="interface" onclick="toggleClass('typeFilter','value','interface','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','interface'); processSubgroup('interface','type'); process('typeList','filterElement','type');">
957 <include item="interfaceTypesFilterLabel" />
958 <img>
959 <includeAttribute name="src" item="iconPath">
960 <parameter>pubinterface.gif</parameter>
961 </includeAttribute>
962 <includeAttribute name="title" item="pubInterfaceAltText" />
963 </img>
964 </td>
965 <td class="rightGrad" value="interface">&#xa0;</td>
966 </xsl:if>
967 <xsl:if test="element/apidata[@subgroup='enumeration']">
968 <td class="leftGrad" value="enumeration">&#xa0;</td>
969 <td class="tab" value="enumeration" onclick="toggleClass('typeFilter','value','enumeration','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','enumeration'); processSubgroup('enumeration','type'); process('typeList','filterElement','type');">
970 <include item="enumerationTypesFilterLabel" />
971 <img>
972 <includeAttribute name="src" item="iconPath">
973 <parameter>pubenum.gif</parameter>
974 </includeAttribute>
975 <includeAttribute name="title" item="pubEnumerationAltText" />
976 </img>
977 </td>
978 <td class="rightGrad" value="enumeration">&#xa0;</td>
979 </xsl:if>
980 <xsl:if test="element/apidata[@subgroup='delegate']">
981 <td class="leftGrad" value="delegate">&#xa0;</td>
982 <td class="tab" value="delegate" onclick="toggleClass('typeFilter','value','delegate','activeTab','tab'); curvedToggleClass('curvedTypeTabs','value','delegate'); processSubgroup('delegate','type'); process('typeList','filterElement','type');">
983 <include item="delegateTypesFilterLabel" />
984 <img>
985 <includeAttribute name="src" item="iconPath">
986 <parameter>pubdelegate.gif</parameter>
987 </includeAttribute>
988 <includeAttribute name="title" item="pubDelegateAltText" />
989 </img>
990 </td>
991 <td class="rightGrad" value="delegate">&#xa0;</td>
992 </xsl:if>
993 </tr>
994 </table>
995 <div class="memberSection">
996 <table id="typeList" class="members" cellspacing="0">
997 <tr>
998 <th class="iconColumn">
999 <xsl:text>&#xa0;</xsl:text>
1000 </th>
1001 <th class="nameColumn">
1002 <include item="typeNameHeader"/>
1003 </th>
1004 <th class="descriptionColumn">
1005 <include item="typeDescriptionHeader" />
1006 </th>
1007 </tr>
1008 <xsl:apply-templates select="element" mode="namespace">
1009 <xsl:sort select="apidata/@name" />
1010 </xsl:apply-templates>
1011 </table>
1012 </div>
1013 </div>
1014 </xsl:with-param>
1015 </xsl:call-template>
1016
1017 </xsl:template>
1018
1019 <xsl:template name="namespaceList">
1020 <xsl:param name="listSubgroup" />
1021
1022 <table id="typeList" class="members" frame="lhs">
1023 <tr>
1024 <th class="iconColumn">
1025 &#160;
1026 </th>
1027 <th class="nameColumn">
1028 <include item="{$listSubgroup}NameHeader"/>
1029 </th>
1030 <th class="descriptionColumn">
1031 <include item="typeDescriptionHeader" />
1032 </th>
1033 </tr>
1034 <xsl:apply-templates select="element[apidata/@subgroup=$listSubgroup]" mode="namespace">
1035 <xsl:sort select="@api" />
1036 </xsl:apply-templates>
1037 </table>
1038
1039 </xsl:template>
1040
1041 <xsl:template match="elements" mode="enumeration">
1042 <xsl:if test="count(element) > 0">
1043 <div id="enumerationSection">
1044 <xsl:call-template name="section">
1045 <xsl:with-param name="toggleSwitch" select="'members'"/>
1046 <xsl:with-param name="title">
1047 <include item="enumMembersTitle" />
1048 </xsl:with-param>
1049 <xsl:with-param name="content">
1050 <div class="listSection">
1051 <table class="members" id="memberList" frame="lhs" cellspacing="0">
1052 <tr>
1053 <th class="nameColumn">
1054 <include item="memberNameHeader"/>
1055 </th>
1056 <th class="descriptionColumn">
1057 <include item="memberDescriptionHeader" />
1058 </th>
1059 </tr>
1060 <!-- do not sort enumeration elements -->
1061 <xsl:apply-templates select="element" mode="enumeration"/>
1062 </table>
1063 </div>
1064 </xsl:with-param>
1065 </xsl:call-template>
1066 </div>
1067 </xsl:if>
1068 </xsl:template>
1069
1070 <xsl:template match="element" mode="members">
1071 <xsl:param name="subgroup"/>
1072 <xsl:if test="memberdata[@visibility='public'] and apidata[@subgroup=$subgroup]">
1073 public;
1074 </xsl:if>
1075 <xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly'] and apidata[@subgroup=$subgroup]">
1076 protected;
1077 </xsl:if>
1078 <xsl:if test="memberdata[@visibility='private'] and apidata[@subgroup=$subgroup] and not(proceduredata[@virtual = 'true'])">
1079 private;
1080 </xsl:if>
1081 <xsl:if test="memberdata[@visibility='private'] and proceduredata[@virtual = 'true']">
1082 explicit;
1083 </xsl:if>
1084 </xsl:template>
1085
1086 <xsl:template match="elements" mode="member">
1087
1088 <xsl:call-template name="memberIntro" />
1089
1090 <xsl:if test="count(element) > 0">
1091 <xsl:variable name="header">
1092 <xsl:choose>
1093 <xsl:when test="element[apidata/@subsubgroup]">
1094 <xsl:value-of select="concat(element/apidata/@subsubgroup, 'MembersFilterLabel')"/>
1095 </xsl:when>
1096 <xsl:otherwise>
1097 <xsl:value-of select="concat(element/apidata/@subgroup, 'MembersFilterLabel')"/>
1098 </xsl:otherwise>
1099 </xsl:choose>
1100 </xsl:variable>
1101 <xsl:call-template name="section">
1102 <xsl:with-param name="toggleSwitch" select="$header" />
1103 <xsl:with-param name="title">
1104 <include item="{$header}" />
1105 </xsl:with-param>
1106 <xsl:with-param name="content">
1107 <div class="listSection">
1108 <table class="memberOptions">
1109 <tr>
1110 <td class="line">
1111 <div id="public" onclick="var checked=toggleCheck(publicImage); toggleCheckState('public',checked); process('memberList','filterElement','member');">
1112 <img id="publicImage" onmouseover="mouseOverCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1113 <includeAttribute name="src" item="iconPath">
1114 <parameter>ch_selected.gif</parameter>
1115 </includeAttribute>
1116 </img>
1117 <xsl:text>&#xa0;</xsl:text>
1118 <include item="publicMembersFilterLabel" />
1119 </div>
1120 <br />
1121 <div id="protected" onclick="var checked=toggleCheck(protectedImage); toggleCheckState('protected',checked); process('memberList','filterElement','member');">
1122 <img id="protectedImage" onmouseover="mouseOverCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1123 <includeAttribute name="src" item="iconPath">
1124 <parameter>ch_selected.gif</parameter>
1125 </includeAttribute>
1126 </img>
1127 <xsl:text>&#xa0;</xsl:text>
1128 <include item="protectedMembersFilterLabel" />
1129 </div>
1130 </td>
1131 <td class="line">
1132 <div id="instance" onclick="var checked=toggleCheck(instanceImage); toggleCheckState('instance',checked); process('memberList','filterElement','member');">
1133 <img id="instanceImage" onmouseover="mouseOverCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1134 <includeAttribute name="src" item="iconPath">
1135 <parameter>ch_selected.gif</parameter>
1136 </includeAttribute>
1137 </img>
1138 <xsl:text>&#xa0;</xsl:text>
1139 <include item="instanceMembersFilterLabel" />
1140 </div>
1141 <br />
1142 <div id="static" onclick="var checked=toggleCheck(staticImage); toggleCheckState('static',checked); process('memberList','filterElement','member');">
1143 <img id="staticImage" onmouseover="mouseOverCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1144 <includeAttribute name="src" item="iconPath">
1145 <parameter>ch_selected.gif</parameter>
1146 </includeAttribute>
1147 </img>
1148 <xsl:text>&#xa0;</xsl:text>
1149 <include item="staticMembersFilterLabel" />
1150 </div>
1151 </td>
1152 <td class="line">
1153 <div id="declared" onclick="var checked=toggleCheck(declaredImage); toggleCheckState('declared',checked); process('memberList','filterElement','member');">
1154 <img id="declaredImage" onmouseover="mouseOverCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1155 <includeAttribute name="src" item="iconPath">
1156 <parameter>ch_selected.gif</parameter>
1157 </includeAttribute>
1158 </img>
1159 <xsl:text>&#xa0;</xsl:text>
1160 <include item="declaredMembersFilterLabel" />
1161 </div>
1162 <br />
1163 <div id="inherited" onclick="var checked=toggleCheck(inheritedImage); toggleCheckState('inherited',checked); process('memberList','filterElement','member');">
1164 <img id="inheritedImage" onmouseover="mouseOverCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1165 <includeAttribute name="src" item="iconPath">
1166 <parameter>ch_selected.gif</parameter>
1167 </includeAttribute>
1168 </img>
1169 <xsl:text>&#xa0;</xsl:text>
1170 <include item="inheritedMembersFilterLabel" />
1171 </div>
1172 </td>
1173 <td class="line">
1174 <div id="xna" onclick="var checked=toggleCheck(xnaImage); toggleCheckState('xna',checked); process('memberList','filterElement','member');">
1175 <img id="xnaImage" onmouseover="mouseOverCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1176 <includeAttribute name="src" item="iconPath">
1177 <parameter>ch_selected.gif</parameter>
1178 </includeAttribute>
1179 </img>
1180 <xsl:text>&#xa0;</xsl:text>
1181 <include item="XNAFilterLabel" />
1182 </div>
1183 <br/>
1184 <div id="compact" onclick="var checked=toggleCheck(compactImage); toggleCheckState('compact',checked); process('memberList','filterElement','member');">
1185 <img id="compactImage" onmouseover="mouseOverCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1186 <includeAttribute name="src" item="iconPath">
1187 <parameter>ch_selected.gif</parameter>
1188 </includeAttribute>
1189 </img>
1190 <xsl:text>&#xa0;</xsl:text>
1191 <include item=".NETCompactFilterLabel" />
1192 </div>
1193 </td>
1194 <td class="line">
1195 <br/>
1196 </td>
1197 </tr>
1198 </table>
1199 <table class="members" id="memberList" cellspacing="0" frame="lhs">
1200 <tr>
1201 <th class="iconColumn">
1202 <xsl:text>&#xa0;</xsl:text>
1203 </th>
1204 <th class="nameColumn">
1205 <include item="memberNameHeader"/>
1206 </th>
1207 <th class="descriptionColumn">
1208 <include item="memberDescriptionHeader" />
1209 </th>
1210 </tr>
1211 <xsl:apply-templates select=".//element[not(child::element)]" mode="member">
1212 <xsl:sort select="apidata/@name" />
1213 </xsl:apply-templates>
1214 </table>
1215 </div>
1216 </xsl:with-param>
1217 </xsl:call-template>
1218 </xsl:if>
1219
1220 </xsl:template>
1221
1222 <xsl:template name="memberlistSectionGroup">
1223 <xsl:param name="listSubgroup" />
1224
1225 <xsl:if test="element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility='public']]">
1226 <xsl:call-template name="memberlistSection">
1227 <xsl:with-param name="listSubgroup" select="$listSubgroup" />
1228 <xsl:with-param name="listVisibility">public</xsl:with-param>
1229 </xsl:call-template>
1230 </xsl:if>
1231
1232 <xsl:if test="element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility='protected']]">
1233 <xsl:call-template name="memberlistSection">
1234 <xsl:with-param name="listSubgroup" select="$listSubgroup" />
1235 <xsl:with-param name="listVisibility">protected</xsl:with-param>
1236 </xsl:call-template>
1237 </xsl:if>
1238
1239 </xsl:template>
1240
1241 <xsl:template name="memberlistSection">
1242 <xsl:param name="listSubgroup" />
1243 <xsl:param name="listSubsubgroup" />
1244 <xsl:param name="listVisibility" />
1245 <xsl:param name="explicit" />
1246
1247 <xsl:variable name="header">
1248 <xsl:choose>
1249 <xsl:when test="$explicit='true'">ExplicitInterfaceImplementation</xsl:when>
1250 <xsl:when test="$listSubgroup='constructor'">constructorsTable</xsl:when>
1251 <xsl:when test="boolean($listSubsubgroup)">
1252 <xsl:value-of select="concat('Public', $listSubsubgroup)"/>
1253 </xsl:when>
1254 <xsl:otherwise>
1255 <xsl:value-of select="concat($listVisibility, $listSubgroup)"/>
1256 </xsl:otherwise>
1257 </xsl:choose>
1258 </xsl:variable>
1259
1260 <xsl:call-template name="section">
1261 <xsl:with-param name="toggleSwitch" select="$header" />
1262 <xsl:with-param name="title">
1263 <include item="{$header}" />
1264 </xsl:with-param>
1265 <xsl:with-param name="content">
1266 <table id="typeList" class="members" frame="lhs">
1267 <tr>
1268 <th class="iconColumn">
1269 &#160;
1270 </th>
1271 <th class="nameColumn">
1272 <include item="typeNameHeader"/>
1273 </th>
1274 <th class="descriptionColumn">
1275 <include item="typeDescriptionHeader" />
1276 </th>
1277 </tr>
1278
1279 <xsl:choose>
1280 <xsl:when test="boolean($listSubgroup) and boolean($useOverloadRowsInMemberlists)">
1281 <xsl:apply-templates select="element[not(starts-with(@api,'Overload:'))][apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]
1282 | element[starts-with(@api,'Overload:')][element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]]"
1283 mode="memberlistRow">
1284 <xsl:sort select="apidata/@name" />
1285 <xsl:with-param name="listVisibility" select="$listVisibility"/>
1286 </xsl:apply-templates>
1287 </xsl:when>
1288 <xsl:when test="boolean($listSubgroup)">
1289 <xsl:apply-templates select="element[not(starts-with(@api,'Overload:'))][apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]
1290 | element[starts-with(@api,'Overload:')]/element[apidata[@subgroup=$listSubgroup and not(@subsubgroup)] and memberdata[@visibility=$listVisibility]]"
1291 mode="memberlistRow">
1292 <xsl:sort select="apidata/@name" />
1293 <xsl:with-param name="listVisibility" select="$listVisibility"/>
1294 </xsl:apply-templates>
1295 </xsl:when>
1296 <xsl:when test="boolean($listSubsubgroup)">
1297 <xsl:apply-templates select="element[apidata[@subsubgroup=$listSubsubgroup]]" mode="memberlistRow">
1298 <xsl:sort select="apidata/@name" />
1299 <xsl:with-param name="listVisibility" select="$listVisibility"/>
1300 </xsl:apply-templates>
1301 </xsl:when>
1302 <xsl:when test="$explicit='true'">
1303 <xsl:apply-templates select="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]" mode="memberlistRow">
1304 <xsl:sort select="apidata/@name" />
1305 </xsl:apply-templates>
1306 </xsl:when>
1307 </xsl:choose>
1308 </table>
1309 </xsl:with-param>
1310 </xsl:call-template>
1311
1312 </xsl:template>
1313
1314 <xsl:template match="elements" mode="type">
1315 <xsl:if test="count(element) > 0">
1316 <xsl:call-template name="section">
1317 <xsl:with-param name="toggleSwitch" select="'members'" />
1318 <xsl:with-param name="title">
1319 <include item="allMembersTitle" />
1320 </xsl:with-param>
1321 <xsl:with-param name="content">
1322 <div id="allMemberSection">
1323 <table class="filter" cellspacing="0" cellpadding="0">
1324 <tr id="curvedMemberTabs">
1325 <td class="leftTab" value="all">&#xa0;</td>
1326 <td class="middleTab" value="all">&#xa0;</td>
1327 <td class="rightTab" value="all">&#xa0;</td>
1328 <xsl:if test="element/apidata[@subgroup='constructor']">
1329 <td class="leftTab" value="constructor">&#xa0;</td>
1330 <td class="middleTab" value="constructor">&#xa0;</td>
1331 <td class="rightTab" value="constructor">&#xa0;</td>
1332 </xsl:if>
1333 <xsl:if test="element/apidata[@subgroup='field']">
1334 <td class="leftTab" value="field">&#xa0;</td>
1335 <td class="middleTab" value="field">&#xa0;</td>
1336 <td class="rightTab" value="field">&#xa0;</td>
1337 </xsl:if>
1338 <xsl:if test="element/apidata[@subgroup='property']">
1339 <td class="leftTab" value="property">&#xa0;</td>
1340 <td class="middleTab" value="property">&#xa0;</td>
1341 <td class="rightTab" value="property">&#xa0;</td>
1342 </xsl:if>
1343 <xsl:if test="element/apidata[@subgroup='method']">
1344 <td class="leftTab" value="method">&#xa0;</td>
1345 <td class="middleTab" value="method">&#xa0;</td>
1346 <td class="rightTab" value="method">&#xa0;</td>
1347 </xsl:if>
1348 <xsl:if test="element/apidata[@subgroup='event']">
1349 <td class="leftTab" value="event">&#xa0;</td>
1350 <td class="middleTab" value="event">&#xa0;</td>
1351 <td class="rightTab" value="event">&#xa0;</td>
1352 </xsl:if>
1353 <xsl:if test="element/apidata[@subsubgroup='attachedProperty']">
1354 <td class="leftTab" value="attachedProperty">&#xa0;</td>
1355 <td class="middleTab" value="attachedProperty">&#xa0;</td>
1356 <td class="rightTab" value="attachedProperty">&#xa0;</td>
1357 </xsl:if>
1358 <xsl:if test="element/apidata[@subsubgroup='attachedEvent']">
1359 <td class="leftTab" value="attachedEvent">&#xa0;</td>
1360 <td class="middleTab" value="attachedEvent">&#xa0;</td>
1361 <td class="rightTab" value="attachedEvent">&#xa0;</td>
1362 </xsl:if>
1363 <xsl:if test="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
1364 <td class="leftTab" value="explicit">&#xa0;</td>
1365 <td class="middleTab" value="explicit">&#xa0;</td>
1366 <td class="rightTab" value="explicit">&#xa0;</td>
1367 </xsl:if>
1368 </tr>
1369 <tr class="tabs" id="memberTabs">
1370 <td class="leftGrad" value="all">&#xa0;</td>
1371 <td class="tab" value="all" onclick="toggleClass('memberTabs','value','all','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'all'); processSubgroup('all','member'); process('memberList','filterElement','member');">
1372 <include item="allMembersFilterLabel" />
1373 </td>
1374 <td class="rightGrad" value="all">&#xa0;</td>
1375 <xsl:if test="element/apidata[@subgroup='constructor']">
1376 <td class="leftGrad" value="constructor">&#xa0;</td>
1377 <td class="tab" value="constructor" onclick="toggleClass('memberTabs','value','constructor','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'constructor'); processSubgroup('constructor','member'); process('memberList','filterElement','member');">
1378 <include item="constructorMembersFilterLabel" />
1379 <xsl:text>&#xa0;</xsl:text>
1380 <img>
1381 <includeAttribute name="src" item="iconPath">
1382 <parameter>pubmethod.gif</parameter>
1383 </includeAttribute>
1384 <includeAttribute name="title" item="pubMethodAltText" />
1385 </img>
1386 </td>
1387 <td class="rightGrad" value="constructor">&#xa0;</td>
1388 </xsl:if>
1389 <xsl:if test="element/apidata[@subgroup='field']">
1390 <td class="leftGrad" value="field">&#xa0;</td>
1391 <td class="tab" value="field" onclick="toggleClass('memberTabs','value','field','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'field'); processSubgroup('field','member'); process('memberList','filterElement','member');">
1392 <include item="fieldMembersFilterLabel" />
1393 <xsl:text>&#xa0;</xsl:text>
1394 <img>
1395 <includeAttribute name="src" item="iconPath">
1396 <parameter>pubfield.gif</parameter>
1397 </includeAttribute>
1398 <includeAttribute name="title" item="pubFieldAltText" />
1399 </img>
1400 </td>
1401 <td class="rightGrad" value="field">&#xa0;</td>
1402 </xsl:if>
1403 <xsl:if test="element/apidata[@subgroup='property' and not(@subsubgroup)]">
1404 <td class="leftGrad" value="property">&#xa0;</td>
1405 <td class="tab" value="property" onclick="toggleClass('memberTabs','value','property','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'property'); processSubgroup('property','member'); process('memberList','filterElement','member');">
1406 <include item="propertyMembersFilterLabel" />
1407 <xsl:text>&#xa0;</xsl:text>
1408 <img>
1409 <includeAttribute name="src" item="iconPath">
1410 <parameter>pubproperty.gif</parameter>
1411 </includeAttribute>
1412 <includeAttribute name="title" item="pubPropertyAltText" />
1413 </img>
1414 </td>
1415 <td class="rightGrad" value="property">&#xa0;</td>
1416 </xsl:if>
1417 <xsl:if test="element/apidata[@subgroup='method']">
1418 <td class="leftGrad" value="method">&#xa0;</td>
1419 <td class="tab" value="method" onclick="toggleClass('memberTabs','value','method','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'method'); processSubgroup('method','member'); process('memberList','filterElement','member');">
1420 <include item="methodMembersFilterLabel" />
1421 <xsl:text>&#xa0;</xsl:text>
1422 <img>
1423 <includeAttribute name="src" item="iconPath">
1424 <parameter>pubmethod.gif</parameter>
1425 </includeAttribute>
1426 <includeAttribute name="title" item="pubMethodAltText" />
1427 </img>
1428 </td>
1429 <td class="rightGrad" value="method">&#xa0;</td>
1430 </xsl:if>
1431 <xsl:if test="element/apidata[@subgroup='event' and not(@subsubgroup)]">
1432 <td class="leftGrad" value="event">&#xa0;</td>
1433 <td class="tab" value="event" onclick="toggleClass('memberTabs','value','event','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'event'); processSubgroup('event','member'); process('memberList','filterElement','member');">
1434 <include item="eventMembersFilterLabel" />
1435 <xsl:text>&#xa0;</xsl:text>
1436 <img>
1437 <includeAttribute name="src" item="iconPath">
1438 <parameter>pubevent.gif</parameter>
1439 </includeAttribute>
1440 <includeAttribute name="title" item="pubEventAltText" />
1441 </img>
1442 </td>
1443 <td class="rightGrad" value="event">&#xa0;</td>
1444 </xsl:if>
1445 <xsl:if test="element/apidata[@subsubgroup='attachedProperty']">
1446 <td class="leftGrad" value="attachedProperty">&#xa0;</td>
1447 <td class="tab" value="attachedProperty" onclick="toggleClass('memberTabs','value','attachedProperty','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'attachedProperty'); processSubgroup('attachedProperty','member'); process('memberList','filterElement','member');">
1448 <include item="attachedPropertyMembersFilterLabel" />
1449 <xsl:text>&#xa0;</xsl:text>
1450 <img>
1451 <includeAttribute name="src" item="iconPath">
1452 <parameter>pubproperty.gif</parameter>
1453 </includeAttribute>
1454 <includeAttribute name="title" item="pubPropertyAltText" />
1455 </img>
1456 </td>
1457 <td class="rightGrad" value="attachedProperty">&#xa0;</td>
1458 </xsl:if>
1459 <xsl:if test="element/apidata[@subsubgroup='attachedEvent']">
1460 <td class="leftGrad" value="attachedEvent">&#xa0;</td>
1461 <td class="tab" value="attachedEvent" onclick="toggleClass('memberTabs','value','attachedEvent','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'attachedEvent'); processSubgroup('attachedEvent','member'); process('memberList', 'filterElement', 'member');">
1462 <include item="attachedEventMembersFilterLabel" />
1463 <xsl:text>&#xa0;</xsl:text>
1464 <img>
1465 <includeAttribute name="src" item="iconPath">
1466 <parameter>pubevent.gif</parameter>
1467 </includeAttribute>
1468 <includeAttribute name="title" item="pubEventAltText" />
1469 </img>
1470 </td>
1471 <td class="rightGrad" value="attachedEvent">&#xa0;</td>
1472 </xsl:if>
1473 <xsl:if test="element[memberdata[@visibility='private'] and proceduredata[@virtual = 'true']]">
1474 <td class="leftGrad" value="explicit">&#xa0;</td>
1475 <td class="tab" value="explicit" onclick="toggleClass('memberTabs','value','explicit','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'explicit'); processSubgroup('explicit','member'); process('memberList', 'filterElement', 'member');">
1476 <include item="explicitInterfaceMembersFilterLabel" />
1477 <xsl:text>&#xa0;</xsl:text>
1478 <img>
1479 <includeAttribute name="src" item="iconPath">
1480 <parameter>pubinterface.gif</parameter>
1481 </includeAttribute>
1482 <includeAttribute name="title" item="ExplicitInterfaceAltText" />
1483 </img>
1484 </td>
1485 <td class="rightGrad" value="explicit">&#xa0;</td>
1486 </xsl:if>
1487 </tr>
1488 </table>
1489 <div class="memberSection">
1490 <table class="memberOptions">
1491 <tr>
1492 <td class="line">
1493 <div id="public" onclick="var checked=toggleCheck(publicImage); toggleCheckState('public',checked); process('memberList','filterElement','member');">
1494 <img id="publicImage" onmouseover="mouseOverCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1495 <includeAttribute name="src" item="iconPath">
1496 <parameter>ch_selected.gif</parameter>
1497 </includeAttribute>
1498 </img>
1499 <xsl:text>&#xa0;</xsl:text>
1500 <include item="publicMembersFilterLabel" />
1501 </div>
1502 <br />
1503 <div id="protected" onclick="var checked=toggleCheck(protectedImage); toggleCheckState('protected',checked); process('memberList','filterElement','member');">
1504 <img id="protectedImage" onmouseover="mouseOverCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1505 <includeAttribute name="src" item="iconPath">
1506 <parameter>ch_selected.gif</parameter>
1507 </includeAttribute>
1508 </img>
1509 <xsl:text>&#xa0;</xsl:text>
1510 <include item="protectedMembersFilterLabel" />
1511 </div>
1512 </td>
1513 <td class="line">
1514 <div id="instance" onclick="var checked=toggleCheck(instanceImage); toggleCheckState('instance',checked); process('memberList','filterElement','member');">
1515 <img id="instanceImage" onmouseover="mouseOverCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1516 <includeAttribute name="src" item="iconPath">
1517 <parameter>ch_selected.gif</parameter>
1518 </includeAttribute>
1519 </img>
1520 <xsl:text>&#xa0;</xsl:text>
1521 <include item="instanceMembersFilterLabel" />
1522 </div>
1523 <br />
1524 <div id="static" onclick="var checked=toggleCheck(staticImage); toggleCheckState('static',checked); process('memberList','filterElement','member');">
1525 <img id="staticImage" onmouseover="mouseOverCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1526 <includeAttribute name="src" item="iconPath">
1527 <parameter>ch_selected.gif</parameter>
1528 </includeAttribute>
1529 </img>
1530 <xsl:text>&#xa0;</xsl:text>
1531 <include item="staticMembersFilterLabel" />
1532 <xsl:text>&#xa0;</xsl:text>
1533 <img>
1534 <includeAttribute name="src" item="iconPath">
1535 <parameter>static.gif</parameter>
1536 </includeAttribute>
1537 <includeAttribute name="title" item="staticAltText" />
1538 </img>
1539 </div>
1540 </td>
1541 <td class="line">
1542 <div id="declared" onclick="var checked=toggleCheck(declaredImage); toggleCheckState('declared',checked); process('memberList','filterElement','member');">
1543 <img id="declaredImage" onmouseover="mouseOverCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1544 <includeAttribute name="src" item="iconPath">
1545 <parameter>ch_selected.gif</parameter>
1546 </includeAttribute>
1547 </img>
1548 <xsl:text>&#xa0;</xsl:text>
1549 <include item="declaredMembersFilterLabel" />
1550 </div>
1551 <br />
1552 <div id="inherited" onclick="var checked=toggleCheck(inheritedImage); toggleCheckState('inherited',checked); process('memberList','filterElement','member');">
1553 <img id="inheritedImage" onmouseover="mouseOverCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1554 <includeAttribute name="src" item="iconPath">
1555 <parameter>ch_selected.gif</parameter>
1556 </includeAttribute>
1557 </img>
1558 <xsl:text>&#xa0;</xsl:text>
1559 <include item="inheritedMembersFilterLabel" />
1560 </div>
1561 </td>
1562 <td class="line">
1563 <div id="xna" onclick="var checked=toggleCheck(xnaImage); toggleCheckState('xna',checked); process('memberList','filterElement','member');">
1564 <img id="xnaImage" onmouseover="mouseOverCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1565 <includeAttribute name="src" item="iconPath">
1566 <parameter>ch_selected.gif</parameter>
1567 </includeAttribute>
1568 </img>
1569 <xsl:text>&#xa0;</xsl:text>
1570 <include item="XNAFilterLabel" />
1571 <xsl:text>&#xa0;</xsl:text>
1572 <img>
1573 <includeAttribute name="src" item="iconPath">
1574 <parameter>xna.gif</parameter>
1575 </includeAttribute>
1576 <includeAttribute name="title" item="XNAFrameworkAltText" />
1577 </img>
1578 </div>
1579 <br/>
1580 <div id="compact" onclick="var checked=toggleCheck(compactImage); toggleCheckState('compact',checked); process('memberList','filterElement','member');">
1581 <img id="compactImage" onmouseover="mouseOverCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)">
1582 <includeAttribute name="src" item="iconPath">
1583 <parameter>ch_selected.gif</parameter>
1584 </includeAttribute>
1585 </img>
1586 <xsl:text>&#xa0;</xsl:text>
1587 <include item=".NETCompactFilterLabel" />
1588 <xsl:text>&#xa0;</xsl:text>
1589 <img>
1590 <includeAttribute name="src" item="iconPath">
1591 <parameter>CFW.gif</parameter>
1592 </includeAttribute>
1593 <includeAttribute name="title" item="compactFrameworkAltText" />
1594 </img>
1595 </div>
1596 </td>
1597 <td class="line">
1598 <br/>
1599 </td>
1600 </tr>
1601 </table>
1602 <table class="members" id="memberList" cellspacing="0" frame="lhs">
1603 <tr>
1604 <th class="iconColumn">
1605 <xsl:text>&#xa0;</xsl:text>
1606 </th>
1607 <th class="nameColumn">
1608 <include item="memberNameHeader"/>
1609 </th>
1610 <th class="descriptionColumn">
1611 <include item="memberDescriptionHeader" />
1612 </th>
1613 </tr>
1614 <!-- use select="element" to show overload-sets, select=".//element[not(parent::element)]" to show all overloads -->
1615 <xsl:apply-templates select=".//element[not(child::element)]" mode="member">
1616 <xsl:sort select="apidata/@name" />
1617 </xsl:apply-templates>
1618 </table>
1619 </div>
1620 </div>
1621 </xsl:with-param>
1622 </xsl:call-template>
1623 </xsl:if>
1624 </xsl:template>
1625
1626 <xsl:template name="IsMemberSupportedOnXna">
1627 <xsl:choose>
1628 <xsl:when test="element and not(@signatureset)">
1629 <xsl:for-each select="element">
1630 <xsl:call-template name="IsMemberSupportedOnXna"/>
1631 </xsl:for-each>
1632 </xsl:when>
1633 <xsl:otherwise>
1634 <xsl:variable name="platformFilterExcludesXna" select="boolean(platforms and not(platforms/platform[.='Xbox360']))" />
1635 <xsl:if test="boolean(not($platformFilterExcludesXna) and @xnafw)">
1636 <xsl:text>supported</xsl:text>
1637 </xsl:if>
1638 </xsl:otherwise>
1639 </xsl:choose>
1640 </xsl:template>
1641
1642 <xsl:template name="IsMemberSupportedOnCf">
1643 <xsl:choose>
1644 <xsl:when test="document/reference/topicdata[@subgroup='overload'] and document/reference/elements/element and not(@signatureset)">
1645 <xsl:for-each select="document/reference/elements/element">
1646 <xsl:call-template name="IsMemberSupportedOnCf"/>
1647 </xsl:for-each>
1648 </xsl:when>
1649 <xsl:when test="element and not(@signatureset)">
1650 <xsl:for-each select="element">
1651 <xsl:call-template name="IsMemberSupportedOnCf"/>
1652 </xsl:for-each>
1653 </xsl:when>
1654 <xsl:otherwise>
1655 <xsl:variable name="platformFilterExcludesCF" select="boolean( platforms and not(platforms[platform[.='PocketPC'] or platform[.='SmartPhone'] or platform[.='WindowsCE']]) )" />
1656 <xsl:if test="boolean(not($platformFilterExcludesCF) and @netcfw)">
1657 <xsl:text>yes</xsl:text>
1658 </xsl:if>
1659 </xsl:otherwise>
1660 </xsl:choose>
1661 </xsl:template>
1662
1663 <xsl:template name="IsMemberStatic">
1664 <xsl:choose>
1665 <xsl:when test="element and not(@signatureset)">
1666 <xsl:for-each select="element">
1667 <xsl:call-template name="IsMemberStatic"/>
1668 </xsl:for-each>
1669 </xsl:when>
1670 <xsl:when test="apidata[@subsubgroup='attachedProperty' or @subsubgroup='attachedEvent']"/>
1671 <xsl:otherwise>
1672 <xsl:if test="memberdata/@static='true'">
1673 <xsl:text>yes</xsl:text>
1674 </xsl:if>
1675 </xsl:otherwise>
1676 </xsl:choose>
1677 </xsl:template>
1678
1679 <xsl:template name="IsMemberInherited">
1680 <xsl:choose>
1681 <xsl:when test="element and not(@signatureset)">
1682 <xsl:for-each select="element">
1683 <xsl:call-template name="IsMemberInherited"/>
1684 </xsl:for-each>
1685 </xsl:when>
1686 <xsl:otherwise>
1687 <xsl:if test="not(contains($key, containers/type/@api))">
1688 <xsl:text>yes</xsl:text>
1689 </xsl:if>
1690 </xsl:otherwise>
1691 </xsl:choose>
1692 </xsl:template>
1693
1694 <xsl:template name="IsMemberProtected">
1695 <xsl:choose>
1696 <xsl:when test="element and not(@signatureset)">
1697 <xsl:for-each select="element">
1698 <xsl:call-template name="IsMemberProtected"/>
1699 </xsl:for-each>
1700 </xsl:when>
1701 <xsl:otherwise>
1702 <xsl:if test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
1703 <xsl:text>yes</xsl:text>
1704 </xsl:if>
1705 </xsl:otherwise>
1706 </xsl:choose>
1707 </xsl:template>
1708
1709 <xsl:template match="element" mode="memberlistRow">
1710 <xsl:param name="listVisibility"/>
1711 <xsl:variable name="supportedOnXna">
1712 <xsl:call-template name="IsMemberSupportedOnXna"/>
1713 </xsl:variable>
1714 <xsl:variable name="supportedOnCf">
1715 <xsl:call-template name="IsMemberSupportedOnCf"/>
1716 </xsl:variable>
1717 <xsl:variable name="staticMember">
1718 <xsl:call-template name="IsMemberStatic"/>
1719 </xsl:variable>
1720 <xsl:variable name="inheritedMember">
1721 <xsl:call-template name="IsMemberInherited"/>
1722 </xsl:variable>
1723 <xsl:variable name="protectedMember">
1724 <xsl:call-template name="IsMemberProtected"/>
1725 </xsl:variable>
1726 <tr>
1727 <xsl:if test="normalize-space($inheritedMember)!=''">
1728 <xsl:attribute name="name">inheritedMember</xsl:attribute>
1729 </xsl:if>
1730 <xsl:if test="normalize-space($protectedMember)!=''">
1731 <xsl:attribute name="protected">true</xsl:attribute>
1732 </xsl:if>
1733 <xsl:if test="normalize-space($supportedOnXna)=''">
1734 <xsl:attribute name="notSupportedOnXna">true</xsl:attribute>
1735 </xsl:if>
1736 <xsl:if test="normalize-space($supportedOnCf)=''">
1737 <xsl:attribute name="notSupportedOn">netcf</xsl:attribute>
1738 </xsl:if>
1739
1740 <td>
1741 <xsl:call-template name="memberIcons">
1742 <xsl:with-param name="memberVisibility">
1743 <xsl:choose>
1744 <xsl:when test="$listVisibility='public'">pub</xsl:when>
1745 <xsl:when test="$listVisibility='private'">priv</xsl:when>
1746 <xsl:when test="$listVisibility='protected'">prot</xsl:when>
1747 <xsl:otherwise>
1748 <xsl:choose>
1749 <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when>
1750 <xsl:when test="memberdata/@visibility='private'">priv</xsl:when>
1751 <xsl:otherwise>pub</xsl:otherwise>
1752 </xsl:choose>
1753 <xsl:choose>
1754 <xsl:when test="memberdata[@visibility='public']">pub</xsl:when>
1755 </xsl:choose>
1756 </xsl:otherwise>
1757 </xsl:choose>
1758 </xsl:with-param>
1759 <xsl:with-param name="staticMember" select="normalize-space($staticMember)" />
1760 <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/>
1761 <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/>
1762 </xsl:call-template>
1763 </td>
1764 <td>
1765 <xsl:choose>
1766 <xsl:when test="@display-api">
1767 <referenceLink target="{@api}" display-target="{@display-api}" show-parameters="false" />
1768 </xsl:when>
1769 <xsl:otherwise>
1770 <referenceLink target="{@api}" show-parameters="false" />
1771 </xsl:otherwise>
1772 </xsl:choose>
1773 </td>
1774 <td>
1775 <xsl:call-template name="getInternalOnlyDescription" />
1776 <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
1777 <xsl:text> </xsl:text>
1778 <include item="obsoleteRed" />
1779 </xsl:if>
1780 <xsl:if test="attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
1781 <xsl:text> </xsl:text>
1782 <include item="hostProtectionAttributeShort" />
1783 </xsl:if>
1784 <xsl:if test="topicdata[@subgroup='overload']">
1785 <include item="Overloaded"/>
1786 <xsl:text> </xsl:text>
1787 </xsl:if>
1788 <xsl:apply-templates select="element" mode="overloadSummary" />
1789 <xsl:call-template name="getElementDescription" />
1790 <xsl:choose>
1791 <xsl:when test="@signatureset">
1792 <!-- TODO add boilerplate for other members in the sig set -->
1793 </xsl:when>
1794 <xsl:when test="not(topicdata[@subgroup='overload'])">
1795 <xsl:choose>
1796 <xsl:when test="normalize-space($inheritedMember)!=''">
1797 <xsl:text> </xsl:text>
1798 <include item="inheritedFrom">
1799 <parameter>
1800 <xsl:apply-templates select="containers/type" mode="link" />
1801 <!--
1802 <xsl:call-template name="typeReferenceLink">
1803 <xsl:with-param name="api" select="containers/type/@api" />
1804 <xsl:with-param name="qualified" select="false()" />
1805 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
1806 </xsl:call-template>
1807 <xsl:apply-templates select="type/specialization" />
1808 -->
1809 </parameter>
1810 </include>
1811 </xsl:when>
1812 <xsl:when test="overrides/member">
1813 <xsl:text> </xsl:text>
1814 <include item="overridesMember">
1815 <parameter>
1816 <xsl:call-template name="createReferenceLink">
1817 <xsl:with-param name="id" select="overrides/member/@api"/>
1818 <xsl:with-param name="qualified" select="true()"/>
1819 </xsl:call-template>
1820 </parameter>
1821 </include>
1822 </xsl:when>
1823 </xsl:choose>
1824 </xsl:when>
1825 </xsl:choose>
1826 </td>
1827 </tr>
1828 </xsl:template>
1829
1830 <xsl:template match="elements" mode="derivedType">
1831 <xsl:if test="count(element) > 0">
1832 <xsl:call-template name="section">
1833 <xsl:with-param name="toggleSwitch" select="'DerivedClasses'"/>
1834 <xsl:with-param name="title">
1835 <include item="derivedClasses" />
1836 </xsl:with-param>
1837 <xsl:with-param name="content">
1838 <div class="listSection">
1839 <table class="members" id="memberList" frame="lhs" cellspacing="0">
1840 <tr>
1841 <th class="nameColumn">
1842 <include item="memberNameHeader"/>
1843 </th>
1844 <th class="descriptionColumn">
1845 <include item="memberDescriptionHeader" />
1846 </th>
1847 </tr>
1848 <xsl:apply-templates select="element" mode="derivedType">
1849 <xsl:sort select="apidata/@name" />
1850 </xsl:apply-templates>
1851 </table>
1852 </div>
1853 </xsl:with-param>
1854 </xsl:call-template>
1855 </xsl:if>
1856 </xsl:template>
1857
1858 <xsl:template match="elements" mode="overload">
1859 <xsl:if test="count(element) > 0">
1860 <xsl:call-template name="section">
1861 <xsl:with-param name="toggleSwitch" select="'overloadMembers'"/>
1862 <xsl:with-param name="title"><include item="membersTitle" /></xsl:with-param>
1863 <xsl:with-param name="content">
1864 <div class="listSection">
1865 <table class="members" id="memberList" frame="lhs" cellspacing="0">
1866 <tr>
1867 <th class="nameColumn">
1868 <include item="typeNameHeader"/>
1869 </th>
1870 <th class="descriptionColumn">
1871 <include item="typeDescriptionHeader" />
1872 </th>
1873 </tr>
1874 <xsl:apply-templates select="element" mode="overload">
1875 <xsl:sort select="apidata/@name" />
1876 </xsl:apply-templates>
1877 </table>
1878 </div>
1879 </xsl:with-param>
1880 </xsl:call-template>
1881 </xsl:if>
1882 <xsl:apply-templates select="element" mode="overloadSections">
1883 <xsl:sort select="apidata/@name" />
1884 </xsl:apply-templates>
1885 </xsl:template>
1886
1887 <xsl:template match="elements" mode="overloadSummary">
1888 <xsl:apply-templates select="element" mode="overloadSummary" >
1889 <xsl:sort select="apidata/@name"/>
1890 </xsl:apply-templates>
1891 </xsl:template>
1892
1893 <xsl:template match="element" mode="overloadSummary">
1894 <xsl:call-template name="getOverloadSummary" />
1895 </xsl:template>
1896
1897 <xsl:template match="element" mode="overloadSections">
1898 <xsl:call-template name="getOverloadSections" />
1899 </xsl:template>
1900
1901 <xsl:template name="typeIcon">
1902 <xsl:param name="typeVisibility" />
1903
1904 <xsl:variable name="typeSubgroup" select="apidata/@subgroup" />
1905 <img>
1906 <includeAttribute name="src" item="iconPath">
1907 <parameter>
1908 <xsl:value-of select="concat($typeVisibility,$typeSubgroup,'.gif')" />
1909 </parameter>
1910 </includeAttribute>
1911 <includeAttribute name="title" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" />
1912 </img>
1913
1914 </xsl:template>
1915
1916 <xsl:template name="memberIcons">
1917 <xsl:param name="memberVisibility" />
1918 <xsl:param name="staticMember" />
1919 <xsl:param name="supportedOnXna"/>
1920 <xsl:param name="supportedOnCf"/>
1921
1922 <xsl:variable name="memberSubgroup">
1923 <xsl:choose>
1924 <xsl:when test="apidata/@subgroup='constructor'">
1925 <xsl:text>method</xsl:text>
1926 </xsl:when>
1927 <xsl:otherwise>
1928 <xsl:value-of select="apidata/@subgroup" />
1929 </xsl:otherwise>
1930 </xsl:choose>
1931 </xsl:variable>
1932
1933 <!-- test for explicit interface implementations, which get the interface icon -->
1934 <xsl:if test="memberdata/@visibility='private' and proceduredata/@virtual='true'">
1935 <img>
1936 <includeAttribute name="src" item="iconPath">
1937 <parameter>pubinterface.gif</parameter>
1938 </includeAttribute>
1939 <includeAttribute name="title" item="ExplicitInterfaceAltText" />
1940 </img>
1941 </xsl:if>
1942
1943 <img>
1944 <includeAttribute name="src" item="iconPath">
1945 <parameter>
1946 <xsl:value-of select="concat($memberVisibility,$memberSubgroup,'.gif')" />
1947 </parameter>
1948 </includeAttribute>
1949 <includeAttribute name="title" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" />
1950 </img>
1951
1952 <xsl:if test="$staticMember!=''">
1953 <img>
1954 <includeAttribute name="src" item="iconPath">
1955 <parameter>static.gif</parameter>
1956 </includeAttribute>
1957 <includeAttribute name="title" item="staticAltText" />
1958 </img>
1959 </xsl:if>
1960
1961 <xsl:if test="$supportedOnCf!=''">
1962 <img>
1963 <includeAttribute name="src" item="iconPath">
1964 <parameter>CFW.gif</parameter>
1965 </includeAttribute>
1966 <includeAttribute name="title" item="CompactFrameworkAltText" />
1967 </img>
1968 </xsl:if>
1969
1970 <xsl:if test="$supportedOnXna!=''">
1971 <img>
1972 <includeAttribute name="src" item="iconPath">
1973 <parameter>xna.gif</parameter>
1974 </includeAttribute>
1975 <includeAttribute name="title" item="XNAFrameworkAltText" />
1976 </img>
1977 </xsl:if>
1978 </xsl:template>
1979
1980 <!-- Footer stuff -->
1981
1982 <xsl:template name="foot">
1983 <div id="footer">
1984 <div class="footerLine">
1985 <img width="100%" height="3px">
1986 <includeAttribute name="src" item="iconPath">
1987 <parameter>footer.gif</parameter>
1988 </includeAttribute>
1989 <includeAttribute name="title" item="footerImage" />
1990 </img>
1991 </div>
1992
1993 <include item="footer">
1994 <parameter>
1995 <xsl:value-of select="$key"/>
1996 </parameter>
1997 <parameter>
1998 <xsl:call-template name="topicTitlePlain"/>
1999 </parameter>
2000 </include>
2001 </div>
2002 </xsl:template>
2003
2004 <!-- Assembly information -->
2005
2006 <xsl:template name="requirementsInfo">
2007 <p/>
2008 <include item="requirementsNamespaceLayout" />
2009 <xsl:text>&#xa0;</xsl:text>
2010 <referenceLink target="{/document/reference/containers/namespace/@api}" />
2011 <br/>
2012 <xsl:call-template name="assembliesInfo"/>
2013
2014 <!-- some apis display a XAML xmlns uri -->
2015 <xsl:call-template name="xamlXmlnsInfo"/>
2016 </xsl:template>
2017
2018 <xsl:template name="assemblyNameAndModule">
2019 <xsl:param name="library" select="/document/reference/containers/library"/>
2020 <include item="assemblyNameAndModule">
2021 <parameter>
2022 <span sdata="assembly">
2023 <xsl:value-of select="$library/@assembly"/>
2024 </span>
2025 </parameter>
2026 <parameter>
2027 <xsl:value-of select="$library/@module"/>
2028 </parameter>
2029 <parameter>
2030 <xsl:choose>
2031 <xsl:when test="$library/@kind = 'DynamicallyLinkedLibrary'">
2032 <xsl:text>dll</xsl:text>
2033 </xsl:when>
2034 <xsl:otherwise>
2035 <xsl:text>exe</xsl:text>
2036 </xsl:otherwise>
2037 </xsl:choose>
2038 </parameter>
2039 </include>
2040 </xsl:template>
2041
2042 <xsl:template name="assembliesInfo">
2043 <xsl:choose>
2044 <xsl:when test="count(/document/reference/containers/library)&gt;1">
2045 <include item="requirementsAssembliesLabel"/>
2046 <xsl:for-each select="/document/reference/containers/library">
2047 <xsl:text>&#xa0;&#xa0;</xsl:text>
2048 <xsl:call-template name="assemblyNameAndModule">
2049 <xsl:with-param name="library" select="."/>
2050 </xsl:call-template>
2051 <br/>
2052 </xsl:for-each>
2053 </xsl:when>
2054 <xsl:otherwise>
2055 <include item="requirementsAssemblyLabel"/>
2056 <xsl:text>&#xa0;</xsl:text>
2057 <xsl:call-template name="assemblyNameAndModule"/>
2058 </xsl:otherwise>
2059 </xsl:choose>
2060 </xsl:template>
2061
2062 <!-- Platform information -->
2063
2064 <xsl:template match="platforms">
2065 <xsl:call-template name="section">
2066 <xsl:with-param name="toggleSwitch" select="'platformsTitle'"/>
2067 <xsl:with-param name="title">
2068 <include item="platformsTitle" />
2069 </xsl:with-param>
2070 <xsl:with-param name="content">
2071 <p>
2072 <xsl:for-each select="platform">
2073 <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
2074 </xsl:for-each>
2075 </p>
2076 <p>
2077 <include item="developmentPlatformsLayout"/>
2078 </p>
2079 </xsl:with-param>
2080 </xsl:call-template>
2081 </xsl:template>
2082
2083 <!-- Version information -->
2084
2085 <xsl:template match="versions">
2086 <xsl:call-template name="section">
2087 <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/>
2088 <xsl:with-param name="title">
2089 <include item="versionsTitle" />
2090 </xsl:with-param>
2091 <xsl:with-param name="content">
2092 <xsl:call-template name="processVersions" />
2093 </xsl:with-param>
2094 </xsl:call-template>
2095 </xsl:template>
2096
2097 <xsl:template name="processVersions">
2098 <xsl:choose>
2099 <xsl:when test="versions">
2100 <xsl:for-each select="versions">
2101 <!-- $platformFilterExcluded is based on platform filtering information -->
2102 <xsl:variable name="platformFilterExcluded" select="boolean(/document/reference/platforms and ( (@name='netcfw' and not(/document/reference/platforms/platform[.='PocketPC']) and not(/document/reference/platforms/platform[.='SmartPhone']) and not(/document/reference/platforms/platform[.='WindowsCE']) ) or (@name='xnafw' and not(/document/reference/platforms/platform[.='Xbox360']) ) ) )" />
2103 <xsl:if test="not($platformFilterExcluded) and count(version) &gt; 0">
2104 <h4 class ="subHeading">
2105 <include item="{@name}" />
2106 </h4>
2107 <xsl:call-template name="processVersions" />
2108 </xsl:if>
2109 </xsl:for-each>
2110 </xsl:when>
2111 <xsl:otherwise>
2112 <!-- show the versions in which the api is supported, if any -->
2113 <xsl:variable name="supportedCount" select="count(version[not(@obsolete)])"/>
2114 <xsl:if test="$supportedCount &gt; 0">
2115 <include item="supportedIn_{$supportedCount}">
2116 <xsl:for-each select="version[not(@obsolete)]">
2117 <parameter>
2118 <include item="{@name}" />
2119 </parameter>
2120 </xsl:for-each>
2121 </include>
2122 <br/>
2123 </xsl:if>
2124 <!-- show the versions in which the api is obsolete with a compiler warning, if any -->
2125 <xsl:for-each select="version[@obsolete='warning']">
2126 <include item="obsoleteWarning">
2127 <parameter>
2128 <include item="{@name}" />
2129 </parameter>
2130 </include>
2131 <br/>
2132 </xsl:for-each>
2133 <!-- show the versions in which the api is obsolete and does not compile, if any -->
2134 <xsl:for-each select="version[@obsolete='error']">
2135 <xsl:if test="position()=last()">
2136 <include item="obsoleteError">
2137 <parameter>
2138 <include item="{@name}" />
2139 </parameter>
2140 </include>
2141 <br/>
2142 </xsl:if>
2143 </xsl:for-each>
2144 </xsl:otherwise>
2145 </xsl:choose>
2146 </xsl:template>
2147
2148 <!-- Inheritance hierarchy -->
2149
2150 <xsl:template match="family">
2151
2152 <xsl:call-template name="section">
2153 <xsl:with-param name="toggleSwitch" select="'family'"/>
2154 <xsl:with-param name="title">
2155 <include item="familyTitle" />
2156 </xsl:with-param>
2157 <xsl:with-param name="content">
2158 <xsl:variable name="ancestorCount" select="count(ancestors/*)" />
2159 <xsl:variable name="childCount" select="count(descendents/*)" />
2160
2161 <xsl:for-each select="ancestors/type">
2162 <xsl:sort select="position()" data-type="number" order="descending" />
2163 <!--<xsl:sort select="@api"/> -->
2164
2165 <xsl:call-template name="indent">
2166 <xsl:with-param name="count" select="position()" />
2167 </xsl:call-template>
2168
2169 <xsl:apply-templates select="self::type" mode="link">
2170 <xsl:with-param name="qualified" select="true()" />
2171 </xsl:apply-templates>
2172
2173 <!--
2174 <xsl:call-template name="typeReferenceLink">
2175 <xsl:with-param name="api" select="@api" />
2176 <xsl:with-param name="qualified" select="true()" />
2177 <xsl:with-param name="specialization" select="boolean(specialization)" />
2178 </xsl:call-template>
2179 <xsl:apply-templates select="type/specialization" />
2180 -->
2181 <br/>
2182 </xsl:for-each>
2183
2184 <xsl:call-template name="indent">
2185 <xsl:with-param name="count" select="$ancestorCount + 1" />
2186 </xsl:call-template>
2187
2188 <referenceLink target="{$key}" qualified="true"/>
2189 <br/>
2190
2191 <xsl:choose>
2192
2193 <xsl:when test="descendents/@derivedTypes">
2194 <xsl:call-template name="indent">
2195 <xsl:with-param name="count" select="$ancestorCount + 2" />
2196 </xsl:call-template>
2197 <referenceLink target="{descendents/@derivedTypes}" qualified="true">
2198 <include item="derivedClasses"/>
2199 </referenceLink>
2200 </xsl:when>
2201 <xsl:otherwise>
2202
2203 <xsl:for-each select="descendents/type">
2204 <xsl:sort select="@api"/>
2205 <xsl:call-template name="indent">
2206 <xsl:with-param name="count" select="$ancestorCount + 2" />
2207 </xsl:call-template>
2208
2209 <xsl:apply-templates select="self::type" mode="link">
2210 <xsl:with-param name="qualified" select="true()" />
2211 </xsl:apply-templates>
2212 <!--
2213 <xsl:call-template name="typeReferenceLink">
2214 <xsl:with-param name="api" select="@api" />
2215 <xsl:with-param name="qualified" select="true()" />
2216 <xsl:with-param name="specialization" select="boolean(specialization)" />
2217 </xsl:call-template>
2218 <xsl:apply-templates select="specialization" />
2219 -->
2220 <br/>
2221 </xsl:for-each>
2222 </xsl:otherwise>
2223 </xsl:choose>
2224
2225 </xsl:with-param>
2226 </xsl:call-template>
2227 </xsl:template>
2228
2229 <xsl:template name="createTableEntries">
2230 <xsl:param name="count" />
2231 <xsl:if test="number($count) > 0">
2232 <td>&#x20;</td>
2233 <xsl:call-template name="createTableEntries">
2234 <xsl:with-param name="count" select="number($count)-1" />
2235 </xsl:call-template>
2236 </xsl:if>
2237 </xsl:template>
2238
2239 <xsl:template name="typeReferenceLink">
2240 <xsl:param name="api" />
2241 <xsl:param name="qualified" />
2242 <xsl:param name="specialization" />
2243
2244 <referenceLink target="{$api}" qualified="{$qualified}">
2245 <xsl:choose>
2246 <xsl:when test="$specialization = 'true'">
2247 <xsl:attribute name="show-templates">false</xsl:attribute>
2248 </xsl:when>
2249 <xsl:otherwise>
2250 <xsl:attribute name="show-templates">true</xsl:attribute>
2251 </xsl:otherwise>
2252 </xsl:choose>
2253 </referenceLink>
2254
2255 </xsl:template>
2256
2257 <xsl:template match="template">
2258 <xsl:choose>
2259 <xsl:when test="@api=$key">
2260 <xsl:value-of select="@name" />
2261 </xsl:when>
2262 <xsl:otherwise>
2263 <include item="typeLinkToTypeParameter">
2264 <parameter>
2265 <xsl:value-of select="@name"/>
2266 </parameter>
2267 <parameter>
2268 <referenceLink target="{@api}" qualified="true" />
2269 </parameter>
2270 </include>
2271 </xsl:otherwise>
2272 </xsl:choose>
2273 </xsl:template>
2274
2275 <xsl:template match="member">
2276 <xsl:apply-templates select="type" mode="link" />
2277 <xsl:text>.</xsl:text>
2278 <xsl:choose>
2279 <xsl:when test="@display-api">
2280 <referenceLink target="{@api}" display-target="{@display-api}" />
2281 </xsl:when>
2282 <xsl:otherwise>
2283 <referenceLink target="{@api}" />
2284 </xsl:otherwise>
2285 </xsl:choose>
2286 </xsl:template>
2287
2288 <!-- Naming -->
2289
2290 <xsl:template name="shortName">
2291 <xsl:choose>
2292 <xsl:when test="$subgroup='constructor'">
2293 <xsl:value-of select="/document/reference/containers/type/apidata/@name" />
2294 </xsl:when>
2295 <xsl:otherwise>
2296 <xsl:value-of select="/document/reference/apidata/@name" />
2297 </xsl:otherwise>
2298 </xsl:choose>
2299 </xsl:template>
2300
2301 <!-- decorated names -->
2302
2303 <xsl:template name="shortNameDecorated">
2304 <!--<xsl:param name="titleType" /> -->
2305 <xsl:choose>
2306 <!-- type overview pages get the type name -->
2307 <xsl:when test="$group='type' or ($group='list' and not($subgroup='overload'))">
2308 <xsl:for-each select="/document/reference[1]">
2309 <xsl:call-template name="typeNameDecorated" />
2310 </xsl:for-each>
2311 </xsl:when>
2312 <!-- constructors and member list pages also use the type name -->
2313 <xsl:when test="$subgroup='constructor' or ($subgroup='overload' and /document/reference/apidata/@subgroup='constructor')">
2314 <xsl:for-each select="/document/reference/containers/type[1]">
2315 <xsl:call-template name="typeNameDecorated" />
2316 </xsl:for-each>
2317 </xsl:when>
2318 <!--
2319 <xsl:when test="$group='member'">
2320 <xsl:variable name="type">
2321 <xsl:for-each select="/document/reference">
2322 <xsl:call-template name="GetTypeName" />
2323 </xsl:for-each>
2324 </xsl:variable>
2325 <xsl:choose>
2326 <xsl:when test="$titleType = 'tocTitle'">
2327 <xsl:value-of select="$type" />
2328 </xsl:when>
2329 <xsl:otherwise>
2330 <xsl:value-of select="concat($typeName, '.', $type)"/>
2331 </xsl:otherwise>
2332 </xsl:choose>
2333 </xsl:when>
2334 -->
2335 <!-- member pages use the qualified member name -->
2336 <xsl:when test="$group='member' or ($subgroup='overload' and /document/reference/apidata/@group='member')">
2337 <xsl:for-each select="/document/reference/containers/type[1]">
2338 <xsl:call-template name="typeNameDecorated" />
2339 </xsl:for-each>
2340 <span class="cs">.</span>
2341 <span class="vb">.</span>
2342 <span class="cpp">::</span>
2343 <xsl:for-each select="/document/reference[1]">
2344 <xsl:value-of select="apidata/@name" />
2345 <xsl:apply-templates select="templates" mode="decorated" />
2346 </xsl:for-each>
2347 </xsl:when>
2348 <!-- namespace (and any other) topics just use the name -->
2349 <xsl:when test="/document/reference/apidata/@name = ''">
2350 <include item="defaultNamespace" />
2351 </xsl:when>
2352 <xsl:otherwise>
2353 <xsl:value-of select="/document/reference/apidata/@name" />
2354 </xsl:otherwise>
2355 </xsl:choose>
2356 </xsl:template>
2357
2358 <!-- plain names -->
2359
2360 <xsl:template name="shortNamePlain">
2361 <xsl:param name="qualifyMembers" select="false()" />
2362 <xsl:choose>
2363 <!-- type overview pages get the type name -->
2364 <xsl:when test="$group='type' or (group='list' and not($subgroup = 'overload'))">
2365 <xsl:for-each select="/document/reference[1]">
2366 <xsl:call-template name="typeNamePlain" />
2367 </xsl:for-each>
2368 </xsl:when>
2369 <!-- constructors and member list pages also use the type name -->
2370 <xsl:when test="$subgroup='constructor' or ($subgroup='overload' and /document/reference/apidata/@subgroup='constructor')">
2371 <xsl:for-each select="/document/reference/containers/type[1]">
2372 <xsl:call-template name="typeNamePlain" />
2373 </xsl:for-each>
2374 </xsl:when>
2375 <!-- namespace, member (and any other) topics just use the name -->
2376 <xsl:when test="/document/reference/apidata/@name = ''">
2377 <include item="defaultNamespace" />
2378 </xsl:when>
2379 <xsl:otherwise>
2380 <xsl:if test="$qualifyMembers and /document/reference/apidata/@group='member'">
2381 <xsl:for-each select="/document/reference/containers/type[1]">
2382 <xsl:call-template name="typeNamePlain" />
2383 </xsl:for-each>
2384 <xsl:text>.</xsl:text>
2385 </xsl:if>
2386 <xsl:value-of select="/document/reference/apidata/@name" />
2387 </xsl:otherwise>
2388 </xsl:choose>
2389 </xsl:template>
2390
2391 <xsl:template name="typeNamePlain">
2392 <xsl:param name="annotate" select="false()" />
2393 <xsl:if test="(containers/type)|type">
2394 <xsl:for-each select="(containers/type)|type">
2395 <xsl:call-template name="typeNamePlain">
2396 <xsl:with-param name="annotate" select="$annotate" />
2397 </xsl:call-template>
2398 </xsl:for-each>
2399 <xsl:text>.</xsl:text>
2400 </xsl:if>
2401 <xsl:value-of select="apidata/@name" />
2402 <xsl:if test="$annotate and templates/template">
2403 <xsl:value-of select="concat('`',count(templates/template))"/>
2404 </xsl:if>
2405 </xsl:template>
2406
2407</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.