source: BMXNET_RPMS_dotNET_UTILITIES-BMX/branch/BMX41000/IHS BMX Framework/IndianHealthService.BMXNet.Doc/Help/Presentation/Style/Transforms/main_reference.xsl@ 1198

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

Initial Import of BMX4

File size: 17.0 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 <!-- stuff specific to comments authored in DDUEXML -->
11
12 <xsl:include href="utilities_reference.xsl" />
13 <xsl:include href="utilities_dduexml.xsl" />
14 <xsl:include href="htmlBody.xsl"/>
15
16 <xsl:variable name="summary" select="normalize-space(/document/comments/ddue:dduexml/ddue:summary)" />
17
18 <xsl:variable name="abstractSummary">
19 <xsl:for-each select="/document/comments/ddue:dduexml/ddue:summary">
20 <xsl:apply-templates select="." mode="abstract" />
21 </xsl:for-each>
22 </xsl:variable>
23
24 <xsl:variable name="hasSeeAlsoSection"
25 select="boolean(
26 (count(/document/comments/ddue:dduexml/ddue:relatedTopics/*) > 0) or
27 ($group='type' or $group='member' or $group='list')
28 )"/>
29 <xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)"/>
30 <xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)" />
31 <xsl:template name="body">
32
33 <!--internalOnly boilerplate -->
34 <xsl:call-template name="internalOnly"/>
35
36 <!-- obsolete boilerplate -->
37 <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
38 <xsl:call-template name="obsoleteSection" />
39 </xsl:if>
40
41 <!-- HostProtectionAttribute boilerplate -->
42 <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
43 <p>
44 <include item="hostProtectionAttributeLong">
45 <parameter>
46 <xsl:value-of select="concat($subgroup, 'Lower')"/>
47 </parameter>
48 <parameter>
49 <b>
50 <xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
51 <xsl:value-of select="@name"/>
52 <xsl:if test="position() != last()">
53 <xsl:text> | </xsl:text>
54 </xsl:if>
55 </xsl:for-each>
56 </b>
57 </parameter>
58 </include>
59 </p>
60 </xsl:if>
61
62 <!-- summary -->
63 <span sdata="authoredSummary">
64 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:summary[1]" />
65 </span>
66 <xsl:if test="$group='namespace'">
67 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks" />
68 </xsl:if>
69
70 <!-- assembly information -->
71 <xsl:if test="not($group='list' or $group='root' or $group='namespace')">
72 <xsl:call-template name="requirementsInfo"/>
73 </xsl:if>
74
75 <!-- syntax -->
76 <xsl:if test="not($group='list' or $group='namespace')">
77 <xsl:apply-templates select="/document/syntax" />
78 </xsl:if>
79
80 <!-- show authored Dependency Property Information section for properties -->
81 <xsl:if test="$subgroup='property'">
82 <xsl:apply-templates select="//ddue:section[starts-with(@address,'dependencyPropertyInfo')]" mode="section"/>
83 </xsl:if>
84
85 <!-- show authored Routed Event Information section for events -->
86 <xsl:if test="$subgroup='event'">
87 <xsl:apply-templates select="//ddue:section[starts-with(@address,'routedEventInfo')]" mode="section"/>
88 </xsl:if>
89
90 <!-- members -->
91 <xsl:choose>
92 <xsl:when test="$group='root'">
93 <xsl:apply-templates select="/document/reference/elements" mode="root" />
94 </xsl:when>
95 <xsl:when test="$group='namespace'">
96 <xsl:apply-templates select="/document/reference/elements" mode="namespace" />
97 </xsl:when>
98 <xsl:when test="$subgroup='enumeration'">
99 <xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
100 </xsl:when>
101 <xsl:when test="$group='type'">
102 <xsl:apply-templates select="/document/reference/elements" mode="type" />
103 </xsl:when>
104 <xsl:when test="$group='list'">
105 <xsl:choose>
106 <xsl:when test="$subgroup='overload'">
107 <xsl:apply-templates select="/document/reference/elements" mode="overload" />
108 </xsl:when>
109 <xsl:when test="$subgroup='DerivedTypeList'">
110 <xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
111 </xsl:when>
112 <xsl:otherwise>
113 <xsl:apply-templates select="/document/reference/elements" mode="member" />
114 </xsl:otherwise>
115 </xsl:choose>
116 </xsl:when>
117 </xsl:choose>
118 <!-- exceptions -->
119 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:exceptions" />
120 <!-- remarks -->
121 <xsl:if test="not($group='namespace')">
122 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks[1]" />
123 </xsl:if>
124 <!-- example -->
125 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:codeExamples" />
126 <!-- permissions -->
127 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:permissions" />
128 <!-- inheritance -->
129 <xsl:apply-templates select="/document/reference/family" />
130 <!-- other comment sections -->
131 <xsl:if test="$subgroup='class' or $subgroup='structure'">
132 <xsl:call-template name="threadSafety" />
133 </xsl:if>
134 <xsl:if test="not($group='list' or $group='namespace' or $group='root')">
135 <!--platforms-->
136 <xsl:apply-templates select="/document/reference/platforms" />
137 <!--versions-->
138 <xsl:apply-templates select="/document/reference/versions" />
139 </xsl:if>
140 <!-- see also -->
141 <xsl:call-template name="seeAlsoSection"/>
142
143 </xsl:template>
144
145 <xsl:template name="obsoleteSection">
146 <p>
147 <include item="ObsoleteBoilerPlate">
148 <parameter>
149 <xsl:value-of select="$subgroup"/>
150 </parameter>
151 </include>
152 <xsl:for-each select="/document/comments/ddue:dduexml/ddue:obsoleteCodeEntity">
153 <xsl:text> </xsl:text>
154 <include item="nonobsoleteAlternative">
155 <parameter><xsl:apply-templates select="ddue:codeEntityReference" /></parameter>
156 </include>
157 </xsl:for-each>
158 </p>
159 </xsl:template>
160
161 <xsl:template name="internalOnly">
162 <xsl:if test="/document/comments/ddue:dduexml/ddue:internalOnly or /document/reference/containers/ddue:internalOnly">
163 <div id="internalonly" class="seeAlsoNoToggleSection">
164 <p/>
165 <include item="internalOnly" />
166 </div>
167 </xsl:if>
168 </xsl:template>
169
170 <xsl:template name="getParameterDescription">
171 <xsl:param name="name" />
172 <span sdata="authoredParameterSummary">
173 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:parameters/ddue:parameter[string(ddue:parameterReference)=$name]/ddue:content" />
174 </span>
175 </xsl:template>
176
177 <xsl:template match="returns">
178 <xsl:if test="normalize-space(/document/comments/ddue:dduexml/ddue:returnValue)">
179 <div id="returns">
180 <xsl:call-template name="subSection">
181 <xsl:with-param name="title">
182 <include>
183 <xsl:attribute name="item">
184 <xsl:value-of select="$subgroup" />
185 <xsl:text>ValueTitle</xsl:text>
186 </xsl:attribute>
187 </include>
188 </xsl:with-param>
189 <xsl:with-param name="content">
190 <xsl:call-template name="getReturnsDescription" />
191 </xsl:with-param>
192 </xsl:call-template>
193 </div>
194 </xsl:if>
195 </xsl:template>
196
197 <xsl:template name="getReturnsDescription">
198 <xsl:choose>
199 <xsl:when test="type">
200 <xsl:call-template name="typeReferenceLink">
201 <xsl:with-param name="api" select="type/@api" />
202 <xsl:with-param name="qualified" select="true()" />
203 <xsl:with-param name="specialization" select="boolean(type/specialization)" />
204 </xsl:call-template>
205 <xsl:apply-templates select="type/specialization" />
206 </xsl:when>
207 <xsl:otherwise>
208 <xsl:apply-templates select="*[1]" />
209 </xsl:otherwise>
210 </xsl:choose>
211 <br/>
212 <span sdata="authoredValueSummary">
213 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:returnValue" />
214 </span>
215 </xsl:template>
216
217 <xsl:template match="templates">
218 <div id="genericParameters">
219 <xsl:call-template name="subSection">
220 <xsl:with-param name="title"><include item="templatesTitle" /></xsl:with-param>
221 <xsl:with-param name="content">
222 <xsl:for-each select="template">
223 <xsl:variable name="parameterName" select="@name" />
224 <dl paramName="{$parameterName}">
225 <dt>
226 <span class="parameter"><xsl:value-of select="$parameterName"/></span>
227 </dt>
228 <dd>
229 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:genericParameters/ddue:genericParameter[string(ddue:parameterReference)=$parameterName]/ddue:content" />
230 </dd>
231 </dl>
232 </xsl:for-each>
233 </xsl:with-param>
234 </xsl:call-template>
235 </div>
236 </xsl:template>
237
238 <xsl:template name="getElementDescription">
239 <span sdata="memberAuthoredSummary">
240 <xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" />
241 </span>
242 </xsl:template>
243
244 <xsl:template name="getInternalOnlyDescription">
245 <xsl:choose>
246 <xsl:when test="ddue:internalOnly">
247 <include item="infraStructure" />
248 </xsl:when>
249 <xsl:when test="count(element) &gt; 0">
250 <xsl:variable name="internal">
251 <xsl:for-each select="element">
252 <xsl:if test="not(ddue:internalOnly)">
253 <xsl:text>no</xsl:text>
254 </xsl:if>
255 </xsl:for-each>
256 </xsl:variable>
257 <xsl:if test="not(normalize-space($internal))">
258 <include item="infraStructure" />
259 </xsl:if>
260 </xsl:when>
261 </xsl:choose>
262 </xsl:template>
263
264 <xsl:template name="getOverloadSummary">
265
266 </xsl:template>
267
268 <xsl:template name="getOverloadSections">
269
270 </xsl:template>
271
272 <xsl:template match="syntax">
273 <xsl:if test="count(*) > 0">
274 <xsl:call-template name="section">
275 <xsl:with-param name="toggleSwitch" select="'syntax'" />
276 <xsl:with-param name="title">
277 <include item="syntaxTitle"/>
278 </xsl:with-param>
279 <xsl:with-param name="content">
280 <div id="syntaxCodeBlocks" class="code">
281 <xsl:call-template name="syntaxBlocks" />
282 </div>
283
284 <!-- parameters & return value -->
285 <xsl:apply-templates select="/document/reference/templates" />
286 <xsl:apply-templates select="/document/reference/parameters" />
287 <xsl:apply-templates select="/document/reference/returns" />
288 <xsl:apply-templates select="/document/reference/implements" />
289 </xsl:with-param>
290 </xsl:call-template>
291 </xsl:if>
292 </xsl:template>
293
294
295 <!-- DDUEXML elements that behave differently in conceptual and reference -->
296
297 <xsl:template match="ddue:exceptions">
298 <xsl:if test="normalize-space(.)">
299 <xsl:call-template name="section">
300 <xsl:with-param name="toggleSwitch" select="'ddueExceptions'"/>
301 <xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
302 <xsl:with-param name="content">
303 <xsl:choose>
304 <xsl:when test="ddue:exception">
305 <div class="listSection">
306 <table class="members" width="100%" cellspacing="0" frame="lhs">
307 <tr>
308 <th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
309 <th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
310 </tr>
311 <xsl:for-each select="ddue:exception">
312 <tr>
313 <td>
314 <xsl:apply-templates select="ddue:codeEntityReference" />
315 </td>
316 <td>
317 <xsl:apply-templates select="ddue:content" />
318 </td>
319 </tr>
320 </xsl:for-each>
321 </table>
322 </div>
323 </xsl:when>
324 <xsl:otherwise>
325 <xsl:apply-templates />
326 </xsl:otherwise>
327 </xsl:choose>
328 </xsl:with-param>
329 </xsl:call-template>
330 </xsl:if>
331 </xsl:template>
332
333 <xsl:template match="ddue:permissions">
334 <xsl:if test="normalize-space(.)">
335 <xsl:call-template name="section">
336 <xsl:with-param name="toggleSwitch" select="'permissions'" />
337 <xsl:with-param name="title">
338 <include item="permissionsTitle" />
339 </xsl:with-param>
340 <xsl:with-param name="content">
341 <ul>
342 <xsl:for-each select="ddue:permission">
343 <li>
344 <xsl:apply-templates select="ddue:codeEntityReference" />
345 <xsl:text> </xsl:text>
346 <xsl:apply-templates select="ddue:content" />
347 </li>
348 </xsl:for-each>
349 </ul>
350 </xsl:with-param>
351 </xsl:call-template>
352 </xsl:if>
353 </xsl:template>
354
355 <xsl:template match="ddue:codeExample">
356 <xsl:apply-templates />
357 </xsl:template>
358
359 <xsl:template name="runningHeader">
360 <include item="runningHeaderText" />
361 </xsl:template>
362
363 <xsl:template name="memberIntro">
364 <xsl:if test="$subgroup='members'">
365 <p>
366 <xsl:apply-templates select="/document/reference/containers/ddue:summary"/>
367 </p>
368 </xsl:if>
369
370 <xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
371 <!-- if there are exposed members, show a boilerplate intro p -->
372 <xsl:variable name="introTextItemId">
373 <xsl:choose>
374 <xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
375 <xsl:otherwise>exposedMembersTableText</xsl:otherwise>
376 </xsl:choose>
377 </xsl:variable>
378 <p>
379 <include item="{$introTextItemId}">
380 <parameter>
381 <referenceLink target="{$typeId}" />
382 </parameter>
383 <parameter>
384 <xsl:value-of select="$subgroup"/><xsl:text>Subgroup</xsl:text>
385 </parameter>
386 </include>
387 </p>
388 </xsl:if>
389 </xsl:template>
390
391 <xsl:template name="mshelpCodelangAttributes">
392
393 <xsl:for-each select="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:snippets/ddue:snippet">
394
395 <xsl:if test="not(@language=preceding::*/@language)">
396 <xsl:variable name="codeLang">
397 <xsl:choose>
398 <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
399 <xsl:text>VBScript</xsl:text>
400 </xsl:when>
401 <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
402 <xsl:text>kbLangVB</xsl:text>
403 </xsl:when>
404 <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
405 <xsl:text>CSharp</xsl:text>
406 </xsl:when>
407 <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
408 <xsl:text>kbLangCPP</xsl:text>
409 </xsl:when>
410 <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
411 <xsl:text>VJ#</xsl:text>
412 </xsl:when>
413 <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
414 <xsl:text>kbJScript</xsl:text>
415 </xsl:when>
416 <xsl:when test="@language = 'xml'">
417 <xsl:text>xml</xsl:text>
418 </xsl:when>
419 <xsl:when test="@language = 'html'">
420 <xsl:text>html</xsl:text>
421 </xsl:when>
422 <xsl:when test="@language = 'vb-c#'">
423 <xsl:text>visualbasicANDcsharp</xsl:text>
424 </xsl:when>
425 <xsl:otherwise>
426 <xsl:text>other</xsl:text>
427 </xsl:otherwise>
428 </xsl:choose>
429 </xsl:variable>
430 <xsl:choose>
431 <xsl:when test="$codeLang='other'" />
432 <xsl:otherwise>
433 <xsl:call-template name="codeLang">
434 <xsl:with-param name="codeLang" select="$codeLang" />
435 </xsl:call-template>
436 </xsl:otherwise>
437 </xsl:choose>
438 </xsl:if>
439
440 </xsl:for-each>
441 </xsl:template>
442
443 <xsl:template match="ddue:codeEntityReference" mode="abstract">
444 <xsl:call-template name="subString">
445 <xsl:with-param name="name" select="." />
446 </xsl:call-template>
447 </xsl:template>
448
449</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.