source: BMXNET_RPMS_dotNET_UTILITIES-BMX/branch/IHS BMX Framework/IndianHealthService.BMXNet.GeneratedDocumentation/Help/Presentation/Style/Transforms/utilities_dduexml.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: 48.4 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_dduexml.xsl" />
11
12 <!-- sections -->
13
14 <!-- the Remarks section includes content from these nodes, excluding the xaml sections are captured in the xaml syntax processing -->
15 <xsl:template name="HasRemarksContent">
16 <xsl:choose>
17 <xsl:when test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">true</xsl:when>
18 <xsl:when test="normalize-space(ddue:content)">true</xsl:when>
19 <xsl:when test="normalize-space(../ddue:notesForImplementers)">true</xsl:when>
20 <xsl:when test="normalize-space(../ddue:notesForCallers)">true</xsl:when>
21 <xsl:when test="normalize-space(../ddue:notesForInheritors)">true</xsl:when>
22 <xsl:when test="normalize-space(../ddue:platformNotes)">true</xsl:when>
23 <xsl:when test="normalize-space(ddue:sections/ddue:section[not(
24 starts-with(@address,'xamlValues') or
25 starts-with(@address,'xamlTextUsage') or
26 starts-with(@address,'xamlAttributeUsage') or
27 starts-with(@address,'xamlPropertyElementUsage') or
28 starts-with(@address,'xamlImplicitCollectionUsage') or
29 starts-with(@address,'xamlObjectElementUsage') or
30 starts-with(@address,'dependencyPropertyInfo') or
31 starts-with(@address,'routedEventInfo')
32 )])">true</xsl:when>
33 </xsl:choose>
34 </xsl:template>
35
36 <xsl:template match="ddue:remarks">
37 <xsl:variable name="hasRemarks">
38 <xsl:call-template name="HasRemarksContent"/>
39 </xsl:variable>
40 <xsl:if test="$hasRemarks='true'">
41 <xsl:choose>
42 <xsl:when test="not($group = 'namespace')">
43 <xsl:call-template name="section">
44 <xsl:with-param name="toggleSwitch" select="'remarks'"/>
45 <xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
46 <xsl:with-param name="content">
47 <!-- HostProtectionAttribute -->
48 <xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
49 <xsl:call-template name="hostProtectionContent" />
50 </xsl:if>
51 <xsl:apply-templates />
52 <xsl:apply-templates select="../ddue:notesForImplementers"/>
53 <xsl:apply-templates select="../ddue:notesForCallers"/>
54 <xsl:apply-templates select="../ddue:notesForInheritors"/>
55 <xsl:apply-templates select="../ddue:platformNotes"/>
56 <include item="mshelpKTable">
57 <parameter>
58 <xsl:text>tt_</xsl:text>
59 <xsl:value-of select="$key"/>
60 </parameter>
61 </include>
62 </xsl:with-param>
63 </xsl:call-template>
64 </xsl:when>
65 <xsl:otherwise>
66 <xsl:apply-templates />
67 </xsl:otherwise>
68 </xsl:choose>
69 </xsl:if>
70 </xsl:template>
71
72 <xsl:template match="ddue:codeExamples">
73 <xsl:if test="normalize-space(.)">
74 <xsl:call-template name="section">
75 <xsl:with-param name="toggleSwitch" select="'example'"/>
76 <xsl:with-param name="title"><include item="examplesTitle" /></xsl:with-param>
77 <xsl:with-param name="content">
78 <xsl:apply-templates />
79 <xsl:call-template name="moreCodeSection"/>
80 </xsl:with-param>
81 </xsl:call-template>
82 </xsl:if>
83 </xsl:template>
84
85 <!--
86 **************************************************************
87 CODE EXAMPLES section
88 **************************************************************
89 -->
90 <!-- tasks/task nodes are inserted by TaskGrabberComponent which gets content from HowTo topics -->
91 <!-- these nodes are handled below in the moreCodeSection -->
92 <xsl:template match="ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/tasks"/>
93
94 <xsl:template name="moreCodeSection">
95 <xsl:variable name="gotCodeAlready" select="boolean(
96 (ddue:codeExample/ddue:legacy/ddue:content[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets/ddue:snippet]) or
97 (ddue:codeExample[ddue:codeReference[ddue:sampleCode] | ddue:code | ddue:snippets/ddue:snippet])
98 )"/>
99
100 <xsl:variable name="gotMoreCode" select="(count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;1) or
101 ($gotCodeAlready and count(ddue:codeExample/ddue:legacy/ddue:content/tasks/task)&gt;0)"/>
102
103 <!-- if no preceding code in the code examples section, display the tasks[1]/task[1] -->
104 <xsl:if test="not($gotCodeAlready)">
105 <xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks[1]/task[1]">
106 <xsl:apply-templates select="ddue:introduction | ddue:codeExample"/>
107 </xsl:for-each>
108 </xsl:if>
109
110 <xsl:if test="$gotMoreCode">
111 <sections>
112 <h4 class="subHeading">
113 <include item="mrefTaskMoreCodeHeading" />
114 </h4>
115 <div class="subsection">
116 <div class="tableSection">
117 <table width="100%" cellspacing="2" cellpadding="5">
118 <xsl:for-each select="ddue:codeExample/ddue:legacy/ddue:content/tasks/task">
119 <xsl:choose>
120 <xsl:when test="not($gotCodeAlready) and position()=1"/>
121 <xsl:otherwise>
122 <tr valign="top">
123 <td>
124 <conceptualLink target="{@topicId}">
125 <xsl:value-of select="ddue:title"/>
126 </conceptualLink>
127 </td>
128 <td>
129 <xsl:choose>
130 <xsl:when test="ddue:introduction/ddue:para[1][normalize-space(.)!='']">
131 <xsl:apply-templates select="ddue:introduction/ddue:para[1]/node()"/>
132 </xsl:when>
133 <xsl:when test="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1][normalize-space(.)!='']">
134 <xsl:apply-templates select="ddue:codeExample/ddue:legacy/ddue:content/ddue:para[1]/node()"/>
135 </xsl:when>
136 </xsl:choose>
137 </td>
138 </tr>
139 </xsl:otherwise>
140 </xsl:choose>
141 </xsl:for-each>
142 </table>
143 </div>
144 </div>
145 </sections>
146 </xsl:if>
147 </xsl:template>
148
149 <xsl:template name="threadSafety">
150 <xsl:call-template name="section">
151 <xsl:with-param name="toggleSwitch" select="'threadSafety'"/>
152 <xsl:with-param name="title"><include item="threadSafetyTitle" /></xsl:with-param>
153 <xsl:with-param name="content">
154 <xsl:choose>
155 <xsl:when test="/document/comments/ddue:dduexml/ddue:threadSafety">
156 <xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:threadSafety"/>
157 </xsl:when>
158 <xsl:otherwise>
159 <include item="ThreadSafetyBP"/>
160 </xsl:otherwise>
161 </xsl:choose>
162 </xsl:with-param>
163 </xsl:call-template>
164 </xsl:template>
165
166 <xsl:template match="ddue:notesForImplementers">
167 <p/>
168 <b>
169 <include item="NotesForImplementers"/>
170 </b>
171 <xsl:apply-templates/>
172 </xsl:template>
173
174 <xsl:template match="ddue:notesForCallers">
175 <p/>
176 <b>
177 <include item="NotesForCallers"/>
178 </b>
179 <xsl:apply-templates/>
180 </xsl:template>
181
182 <xsl:template match="ddue:notesForInheritors">
183 <p/>
184 <b>
185 <include item="NotesForInheritors"/>
186 </b>
187 <xsl:apply-templates/>
188 </xsl:template>
189
190 <xsl:template match="ddue:platformNotes">
191 <xsl:for-each select="ddue:platformNote[normalize-space(ddue:content)]">
192 <p>
193 <include item="PlatformNote">
194 <parameter>
195 <xsl:for-each select="ddue:platforms/ddue:platform">
196 <xsl:variable name="platformName"><xsl:value-of select="."/></xsl:variable>
197 <include item="{$platformName}"/>
198 <xsl:if test="position() != last()">, </xsl:if>
199 </xsl:for-each>
200 </parameter>
201 <parameter><xsl:apply-templates select="ddue:content"/></parameter>
202 </include>
203 </p>
204 </xsl:for-each>
205 </xsl:template>
206
207 <xsl:template match="ddue:schemaHierarchy">
208 <xsl:for-each select="ddue:link">
209 <xsl:call-template name="indent">
210 <xsl:with-param name="count" select="position()"/>
211 </xsl:call-template>
212 <xsl:apply-templates select="."/>
213 <br/>
214 </xsl:for-each>
215 </xsl:template>
216
217 <xsl:template match="ddue:syntaxSection">
218 <div id="syntaxSection" class="section">
219 <div id="syntaxCodeBlocks" class="code">
220 <xsl:for-each select="ddue:legacySyntax">
221 <xsl:variable name="codeLang">
222 <xsl:choose>
223 <xsl:when test="@language = 'vbs'">
224 <xsl:text>VBScript</xsl:text>
225 </xsl:when>
226 <xsl:when test="@language = 'vb' or @language = 'vb#' or @language = 'VB'" >
227 <xsl:text>VisualBasic</xsl:text>
228 </xsl:when>
229 <xsl:when test="@language = 'c#' or @language = 'cs' or @language = 'C#'" >
230 <xsl:text>CSharp</xsl:text>
231 </xsl:when>
232 <xsl:when test="@language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++'" >
233 <xsl:text>ManagedCPlusPlus</xsl:text>
234 </xsl:when>
235 <xsl:when test="@language = 'j#' or @language = 'jsharp'">
236 <xsl:text>JSharp</xsl:text>
237 </xsl:when>
238 <xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
239 <xsl:text>JScript</xsl:text>
240 </xsl:when>
241 <xsl:when test="@language = 'xml'">
242 <xsl:text>xmlLang</xsl:text>
243 </xsl:when>
244 <xsl:when test="@language = 'html'">
245 <xsl:text>html</xsl:text>
246 </xsl:when>
247 <xsl:when test="@language = 'vb-c#'">
248 <xsl:text>visualbasicANDcsharp</xsl:text>
249 </xsl:when>
250 <xsl:when test="@language = 'xaml' or @language = 'XAML'">
251 <xsl:text>XAML</xsl:text>
252 </xsl:when>
253 <xsl:otherwise>
254 <xsl:text>other</xsl:text>
255 </xsl:otherwise>
256 </xsl:choose>
257 </xsl:variable>
258
259 <span codeLanguage="{$codeLang}">
260 <table width="100%" cellspacing="0" cellpadding="0">
261 <tr>
262 <th align="left">
263 <include item="{$codeLang}"/>
264 </th>
265 </tr>
266 <tr>
267 <td>
268 <pre>
269 <xsl:apply-templates xml:space="preserve"/>
270 </pre>
271 </td>
272 </tr>
273 </table>
274 </span>
275
276 </xsl:for-each>
277 </div>
278 </div>
279 </xsl:template>
280
281 <!-- just skip over these -->
282 <xsl:template match="ddue:content | ddue:legacy">
283 <xsl:apply-templates />
284 </xsl:template>
285
286 <!-- block elements -->
287
288 <xsl:template match="ddue:table">
289 <div class="caption">
290 <xsl:value-of select="ddue:title"/>
291 </div>
292 <div class="tableSection">
293 <table width="50%" cellspacing="2" cellpadding="5" frame="lhs">
294 <xsl:apply-templates />
295 </table>
296 </div>
297 </xsl:template>
298
299 <xsl:template match="ddue:tableHeader">
300 <xsl:apply-templates />
301 </xsl:template>
302
303 <xsl:template match="ddue:row">
304 <tr>
305 <xsl:apply-templates />
306 </tr>
307 </xsl:template>
308
309 <xsl:template match="ddue:entry">
310 <td>
311 <xsl:apply-templates />
312 </td>
313 </xsl:template>
314
315 <xsl:template match="ddue:tableHeader/ddue:row/ddue:entry">
316 <th>
317 <xsl:apply-templates />
318 </th>
319 </xsl:template>
320
321 <xsl:template match="ddue:definitionTable">
322 <dl class="authored">
323 <xsl:apply-templates />
324 </dl>
325 </xsl:template>
326
327 <xsl:template match="ddue:definedTerm">
328 <dt><xsl:apply-templates /></dt>
329 </xsl:template>
330
331 <xsl:template match="ddue:definition">
332 <dd>
333 <xsl:apply-templates />
334 </dd>
335 </xsl:template>
336
337 <xsl:template match="ddue:code">
338 <xsl:variable name="codeLang">
339 <xsl:choose>
340 <xsl:when test="@language = 'vbs'">
341 <xsl:text>VBScript</xsl:text>
342 </xsl:when>
343 <xsl:when test="@language = 'vb' or @language = 'vb#' or @language = 'VB'" >
344 <xsl:text>VisualBasic</xsl:text>
345 </xsl:when>
346 <xsl:when test="@language = 'c#' or @language = 'cs' or @language = 'C#'" >
347 <xsl:text>CSharp</xsl:text>
348 </xsl:when>
349 <xsl:when test="@language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++'" >
350 <xsl:text>ManagedCPlusPlus</xsl:text>
351 </xsl:when>
352 <xsl:when test="@language = 'j#' or @language = 'jsharp'">
353 <xsl:text>JSharp</xsl:text>
354 </xsl:when>
355 <xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
356 <xsl:text>JScript</xsl:text>
357 </xsl:when>
358 <xsl:when test="@language = 'xml'">
359 <xsl:text>xmlLang</xsl:text>
360 </xsl:when>
361 <xsl:when test="@language = 'html'">
362 <xsl:text>html</xsl:text>
363 </xsl:when>
364 <xsl:when test="@language = 'vb-c#'">
365 <xsl:text>visualbasicANDcsharp</xsl:text>
366 </xsl:when>
367 <xsl:when test="@language = 'xaml' or @language = 'XAML'">
368 <xsl:text>XAML</xsl:text>
369 </xsl:when>
370 <xsl:when test="@language = 'javascript' or @language = 'JavaScript'">
371 <xsl:text>JavaScript</xsl:text>
372 </xsl:when>
373 <xsl:otherwise>
374 <xsl:text>other</xsl:text>
375 </xsl:otherwise>
376 </xsl:choose>
377 </xsl:variable>
378
379 <xsl:variable name="titleName" select="../../ddue:title"/>
380
381 <xsl:choose>
382 <xsl:when test="(($titleName = 'Output') or ($titleName = 'Input') or ($titleName = 'SampleOutput'))">
383 <div class="code">
384 <table width="100%" cellspacing="0" cellpadding="0">
385 <tr>
386 <th>
387 <xsl:text>&#xa0;</xsl:text>
388 </th>
389
390 </tr>
391 <tr>
392 <td colspan="2">
393 <pre>
394 <xsl:apply-templates/>
395 </pre>
396 </td>
397 </tr>
398 </table>
399 </div>
400 </xsl:when>
401 <xsl:otherwise>
402 <xsl:call-template name="codeSection">
403 <xsl:with-param name="codeLang" select="$codeLang" />
404 </xsl:call-template>
405 </xsl:otherwise>
406 </xsl:choose>
407
408 </xsl:template>
409
410 <xsl:template match="ddue:sampleCode">
411 <div><b><xsl:value-of select="@language"/></b></div>
412 <div class="code"><pre><xsl:apply-templates /></pre></div>
413 </xsl:template>
414
415 <xsl:template name="composeCode">
416 <xsl:copy-of select="." />
417 <xsl:variable name="next" select="following-sibling::*[1]" />
418 <xsl:if test="boolean($next/@language) and boolean(local-name($next)=local-name())">
419 <xsl:for-each select="$next">
420 <xsl:call-template name="composeCode" />
421 </xsl:for-each>
422 </xsl:if>
423 </xsl:template>
424
425 <xsl:template match="ddue:alert">
426 <div class="alert">
427 <table width="100%" cellspacing="0" cellpadding="0">
428 <tr>
429 <th align="left">
430 <xsl:choose>
431 <xsl:when test="@class='tip'">
432 <img class="note">
433 <includeAttribute name="title" item="tipAltText" />
434 <includeAttribute item="iconPath" name="src">
435 <parameter>alert_note.gif</parameter>
436 </includeAttribute>
437 </img>
438 <include item="tipTitle" />
439 </xsl:when>
440 <xsl:when test="@class='caution' or @class='warning'">
441 <img class="note">
442 <includeAttribute name="title" item="cautionAltText" />
443 <includeAttribute item="iconPath" name="src">
444 <parameter>alert_caution.gif</parameter>
445 </includeAttribute>
446 </img>
447 <include item="cautionTitle" />
448 </xsl:when>
449 <xsl:when test="@class='security note'">
450 <img class="note">
451 <includeAttribute name="title" item="securityAltText" />
452 <includeAttribute item="iconPath" name="src">
453 <parameter>alert_security.gif</parameter>
454 </includeAttribute>
455 </img>
456 <include item="securityTitle" />
457 </xsl:when>
458 <xsl:when test="@class='important'">
459 <img class="note">
460 <includeAttribute name="title" item="importantAltText" />
461 <includeAttribute item="iconPath" name="src">
462 <parameter>alert_caution.gif</parameter>
463 </includeAttribute>
464 </img>
465 <include item="importantTitle" />
466 </xsl:when>
467 <xsl:when test="@class='visual basic note'">
468 <img class="note">
469 <includeAttribute name="title" item="visualBasicAltText" />
470 <includeAttribute item="iconPath" name="src">
471 <parameter>alert_note.gif</parameter>
472 </includeAttribute>
473 </img>
474 <include item="visualBasicTitle" />
475 </xsl:when>
476 <xsl:when test="@class='visual c# note'">
477 <img class="note">
478 <includeAttribute name="title" item="visualC#AltText" />
479 <includeAttribute item="iconPath" name="src">
480 <parameter>alert_note.gif</parameter>
481 </includeAttribute>
482 </img>
483 <include item="visualC#Title" />
484 </xsl:when>
485 <xsl:when test="@class='visual c++ note'">
486 <img class="note">
487 <includeAttribute name="title" item="visualC++AltText" />
488 <includeAttribute item="iconPath" name="src">
489 <parameter>alert_note.gif</parameter>
490 </includeAttribute>
491 </img>
492 <include item="visualC++Title" />
493 </xsl:when>
494 <xsl:when test="@class='visual j# note'">
495 <img class="note">
496 <includeAttribute name="title" item="visualJ#AltText" />
497 <includeAttribute item="iconPath" name="src">
498 <parameter>alert_note.gif</parameter>
499 </includeAttribute>
500 </img>
501 <include item="visualJ#Title" />
502 </xsl:when>
503 <xsl:when test="@class='note'">
504 <img class="note">
505 <includeAttribute name="title" item="noteAltText" />
506 <includeAttribute item="iconPath" name="src">
507 <parameter>alert_note.gif</parameter>
508 </includeAttribute>
509 </img>
510 <include item="noteTitle" />
511 </xsl:when>
512 <xsl:otherwise>
513 <img class="note">
514 <includeAttribute name="title" item="noteAltText" />
515 <includeAttribute item="iconPath" name="src">
516 <parameter>alert_note.gif</parameter>
517 </includeAttribute>
518 </img>
519 <include item="{@class}" />
520 </xsl:otherwise>
521 </xsl:choose>
522 </th>
523 </tr>
524 <tr>
525 <td>
526 <xsl:apply-templates/>
527 </td>
528 </tr>
529 </table>
530 </div>
531 </xsl:template>
532
533 <xsl:template match="ddue:sections">
534 <xsl:apply-templates select="ddue:section" />
535 </xsl:template>
536
537 <xsl:template match="ddue:section">
538 <xsl:param name="showChangedHistoryTable" select="false()"/>
539 <xsl:if test="descendant::ddue:content[normalize-space(.)]">
540
541 <xsl:apply-templates select="@address" />
542 <!-- Count all the possible ancestor root nodes -->
543 <xsl:variable name="a1" select="count(ancestor::ddue:attributesandElements)" />
544 <xsl:variable name="a2" select="count(ancestor::ddue:codeExample)" />
545 <xsl:variable name="a3" select="count(ancestor::ddue:dotNetFrameworkEquivalent)" />
546 <xsl:variable name="a4" select="count(ancestor::ddue:elementInformation)" />
547 <xsl:variable name="a5" select="count(ancestor::ddue:exceptions)" />
548 <xsl:variable name="a6" select="count(ancestor::ddue:introduction)" />
549 <xsl:variable name="a7" select="count(ancestor::ddue:languageReferenceRemarks)" />
550 <xsl:variable name="a8" select="count(ancestor::ddue:nextSteps)" />
551 <xsl:variable name="a9" select="count(ancestor::ddue:parameters)" />
552 <xsl:variable name="a10" select="count(ancestor::ddue:prerequisites)" />
553 <xsl:variable name="a11" select="count(ancestor::ddue:procedure)" />
554 <xsl:variable name="a12" select="count(ancestor::ddue:relatedTopics)" />
555 <xsl:variable name="a13" select="count(ancestor::ddue:remarks)" />
556 <xsl:variable name="a14" select="count(ancestor::ddue:requirements)" />
557 <xsl:variable name="a15" select="count(ancestor::ddue:schemaHierarchy)" />
558 <xsl:variable name="a16" select="count(ancestor::ddue:syntaxSection)" />
559 <xsl:variable name="a17" select="count(ancestor::ddue:textValue)" />
560 <xsl:variable name="a18" select="count(ancestor::ddue:type)" />
561 <xsl:variable name="a19" select="count(ancestor::ddue:section)" />
562 <xsl:variable name="total" select="$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10+$a11+$a12+$a13+$a14+$a15+$a16+$a17+$a18+$a19" />
563 <xsl:choose>
564 <!-- This lets not to display changed table section unless the template is called -->
565 <xsl:when test="ddue:title = 'Change History' and not($showChangedHistoryTable)" />
566
567 <xsl:when test="$total = 0">
568 <xsl:variable name="sectionCount">
569 <xsl:value-of select="count(preceding-sibling::ddue:section)"/>
570 </xsl:variable>
571 <xsl:choose>
572 <xsl:when test="ddue:title">
573 <h1 class="heading">
574 <span onclick="ExpandCollapse(sectionToggle{$sectionCount})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle{$sectionCount}, event)" tabindex="0">
575 <img id="sectionToggle{$sectionCount}" class="toggle" name="toggleSwitch">
576 <includeAttribute name="src" item="iconPath">
577 <parameter>collapse_all.gif</parameter>
578 </includeAttribute>
579 </img>
580 <xsl:value-of select="ddue:title" />
581 </span>
582 </h1>
583 <div id="sectionSection{$sectionCount}" class="section" name="collapseableSection" style="">
584 <xsl:apply-templates select="ddue:content"/>
585 <xsl:apply-templates select="ddue:sections" />
586 </div>
587 </xsl:when>
588 <xsl:otherwise>
589 <div id="sectionSection{$sectionCount}" class="seeAlsoNoToggleSection">
590 <xsl:apply-templates select="ddue:content"/>
591 <xsl:apply-templates select="ddue:sections"/>
592 </div>
593 </xsl:otherwise>
594 </xsl:choose>
595 </xsl:when>
596 <xsl:when test="$total = 1">
597 <h3 class="subHeading">
598 <xsl:value-of select="ddue:title"/>
599 </h3>
600 <div class="subsection">
601 <xsl:apply-templates select="ddue:content"/>
602 <xsl:apply-templates select="ddue:sections" />
603 </div>
604 </xsl:when>
605 <xsl:otherwise>
606 <h4 class="subHeading">
607 <xsl:value-of select="ddue:title"/>
608 </h4>
609 <div class="subsection">
610 <xsl:apply-templates select="ddue:content"/>
611 <xsl:apply-templates select="ddue:sections" />
612 </div>
613 </xsl:otherwise>
614 </xsl:choose>
615 </xsl:if>
616 </xsl:template>
617<!--
618 <xsl:template match="@address">
619 <a name="{string(.)}" />
620 </xsl:template>
621-->
622 <xsl:template match="ddue:mediaLink|ddue:mediaLinkInline">
623 <span class="media">
624 <xsl:if test="ddue:caption">
625 <div class="caption">
626 <xsl:apply-templates select="ddue:caption" />
627 </div>
628 <br />
629 </xsl:if>
630 <artLink target="{ddue:image/@xlink:href}" />
631 </span>
632 </xsl:template>
633
634 <xsl:template match="ddue:procedure">
635 <xsl:if test="normalize-space(ddue:title)">
636 <h3 class="procedureSubHeading">
637 <xsl:value-of select="ddue:title"/>
638 </h3>
639 </xsl:if>
640 <div class="subSection">
641 <xsl:apply-templates select="ddue:steps"/>
642 <xsl:apply-templates select="ddue:conclusion"/>
643 </div>
644 </xsl:template>
645
646 <xsl:template match="ddue:steps">
647 <xsl:choose>
648 <xsl:when test="@class = 'ordered'">
649 <xsl:variable name="temp">
650 <xsl:value-of select="count(ddue:step)"/>
651 </xsl:variable>
652 <xsl:if test="$temp = 1">
653 <ul>
654 <xsl:apply-templates select="ddue:step"/>
655 </ul>
656 </xsl:if>
657 <xsl:if test="$temp &gt; 1">
658 <ol>
659 <xsl:apply-templates select="ddue:step"/>
660 </ol>
661 </xsl:if>
662 </xsl:when>
663 <xsl:when test="@class='bullet'">
664 <ul>
665 <xsl:apply-templates select="ddue:step" />
666 </ul>
667 </xsl:when>
668 </xsl:choose>
669 </xsl:template>
670
671 <xsl:template match="ddue:step">
672 <li><xsl:apply-templates /></li>
673 </xsl:template>
674
675
676 <xsl:template match="ddue:inThisSection">
677 <xsl:if test="normalize-space(.)">
678 <xsl:call-template name="section">
679 <xsl:with-param name="toggleSwitch" select="'inThisSection'"/>
680 <xsl:with-param name="title"><include item="inThisSectionTitle" /></xsl:with-param>
681 <xsl:with-param name="content">
682 <xsl:apply-templates />
683 </xsl:with-param>
684 </xsl:call-template>
685 </xsl:if>
686 </xsl:template>
687
688 <xsl:template match="ddue:buildInstructions">
689 <xsl:if test="normalize-space(.)">
690 <xsl:call-template name="section">
691 <xsl:with-param name="toggleSwitch" select="'buildInstructions'"/>
692 <xsl:with-param name="title"><include item="buildInstructionsTitle" /></xsl:with-param>
693 <xsl:with-param name="content">
694 <xsl:apply-templates />
695 </xsl:with-param>
696 </xsl:call-template>
697 </xsl:if>
698 </xsl:template>
699
700 <xsl:template match="ddue:nextSteps">
701 <xsl:if test="normalize-space(.)">
702 <xsl:call-template name="section">
703 <xsl:with-param name="toggleSwitch" select="'nextSteps'"/>
704 <xsl:with-param name="title"><include item="nextStepsTitle" /></xsl:with-param>
705 <xsl:with-param name="content">
706 <xsl:apply-templates />
707 </xsl:with-param>
708 </xsl:call-template>
709 </xsl:if>
710 </xsl:template>
711
712 <xsl:template match="ddue:requirements">
713 <xsl:if test="normalize-space(.)">
714 <xsl:call-template name="section">
715 <xsl:with-param name="toggleSwitch" select="'requirementsTitle'"/>
716 <xsl:with-param name="title"><include item="requirementsTitle" /></xsl:with-param>
717 <xsl:with-param name="content">
718 <xsl:apply-templates />
719 </xsl:with-param>
720 </xsl:call-template>
721 </xsl:if>
722 </xsl:template>
723
724 <!-- inline elements -->
725
726 <xsl:template match="ddue:languageKeyword">
727 <xsl:variable name="word" select="." />
728 <span sdata="langKeyword" value="{$word}">
729 <xsl:choose>
730 <!-- mref topics get special handling for keywords like null, etc. -->
731 <xsl:when test="/document/reference/apidata">
732 <span class="keyword">
733 <xsl:choose>
734 <xsl:when test="$word='null'">
735 <span class="languageSpecificText">
736 <span class="cs">null</span>
737 <span class="vb">Nothing</span>
738 <span class="cpp">nullptr</span>
739 </span>
740 </xsl:when>
741 <!-- need to comment out special handling for static, virtual, true, and false
742 until UE teams review authored content to make sure the auto-text works with the authored text.
743 For example, auto-text with authored content like the following will result in bad customer experience.
744 <languageKeyword>static</languageKeyword> (<languageKeyword>Shared</languageKeyword> in Visual Basic) -->
745 <!--
746 <xsl:when test="$word='static' or $word='Shared'">
747 <span class="cs">static</span>
748 <span class="vb">Shared</span>
749 <span class="cpp">static</span>
750 </xsl:when>
751 <xsl:when test="$word='virtual' or $word='Overridable'">
752 <span class="cs">virtual</span>
753 <span class="vb">Overridable</span>
754 <span class="cpp">virtual</span>
755 </xsl:when>
756 <xsl:when test="$word='true' or $word='True'">
757 <span class="cs">true</span>
758 <span class="vb">True</span>
759 <span class="cpp">true</span>
760 </xsl:when>
761 <xsl:when test="$word='false' or $word='False'">
762 <span class="cs">false</span>
763 <span class="vb">False</span>
764 <span class="cpp">false</span>
765 </xsl:when>
766 -->
767 <xsl:otherwise>
768 <xsl:value-of select="." />
769 </xsl:otherwise>
770 </xsl:choose>
771 </span>
772 <xsl:choose>
773 <xsl:when test="$word='null'">
774 <span class="languageSpecificText">
775 <span class="nu"><include item="nullKeyword"/></span>
776 </span>
777 </xsl:when>
778 <!-- need to comment out special handling for static, virtual, true, and false: see note above -->
779 <!--
780 <xsl:when test="$word='static' or $word='Shared'">
781 <span class="nu"><include item="staticKeyword"/></span>
782 </xsl:when>
783 <xsl:when test="$word='virtual' or $word='Overridable'">
784 <span class="nu"><include item="virtualKeyword"/></span>
785 </xsl:when>
786 <xsl:when test="$word='true' or $word='True'">
787 <span class="nu"><include item="trueKeyword"/></span>
788 </xsl:when>
789 <xsl:when test="$word='false' or $word='False'">
790 <span class="nu"><include item="falseKeyword"/></span>
791 </xsl:when>
792 -->
793 </xsl:choose>
794 </xsl:when>
795 <!-- conceptual and other non-mref topics do not get special handling for keywords like null, etc. -->
796 <xsl:otherwise>
797 <span class="keyword">
798 <xsl:value-of select="." />
799 </span>
800 </xsl:otherwise>
801 </xsl:choose>
802 </span>
803 </xsl:template>
804
805 <!-- links -->
806
807 <!--
808 <xsl:template match="ddue:codeEntityReference">
809 <span class="linkTerm">
810 <referenceLink target="{string(.)}">
811 <xsl:if test="@qualifyHint">
812 <xsl:attribute name="show-container">
813 <xsl:value-of select="@qualifyHint" />
814 </xsl:attribute>
815 <xsl:attribute name="show-parameters">
816 <xsl:value-of select="@qualifyHint" />
817 </xsl:attribute>
818 </xsl:if>
819 <xsl:if test="@autoUpgrade">
820 <xsl:attribute name="prefer-overload">
821 <xsl:value-of select="@autoUpgrade" />
822 </xsl:attribute>
823 </xsl:if>
824 </referenceLink>
825 </span>
826 </xsl:template>
827 -->
828
829 <xsl:template match="ddue:dynamicLink[@type='inline']">
830 <MSHelp:ktable disambiguator='span' indexMoniker='!DefaultDynamicLinkIndex'>
831 <xsl:attribute name="keywords">
832 <xsl:for-each select="ddue:keyword">
833 <xsl:value-of select="."/>
834 <xsl:if test="position() != last()">;</xsl:if>
835 </xsl:for-each>
836 </xsl:attribute>
837 <includeAttribute name="prefix" item="dynamicLinkInlinePreFixText" />
838 <includeAttribute name="postfix" item="dynamicLinkInlinePostFixText" />
839 <includeAttribute name="separator" item="dynamicLinkInlineSeperatorText" />
840 </MSHelp:ktable>
841 </xsl:template>
842
843 <xsl:template match="ddue:dynamicLink[@type='table']">
844 <include item="mshelpKTable">
845 <parameter>
846 <xsl:for-each select="ddue:keyword">
847 <xsl:value-of select="."/>
848 <xsl:if test="position() != last()">;</xsl:if>
849 </xsl:for-each>
850 </parameter>
851 </include>
852 </xsl:template>
853
854 <xsl:template match="ddue:dynamicLink[@type='bulleted']">
855 <MSHelp:ktable disambiguator='span' indexMoniker='!DefaultDynamicLinkIndex'>
856 <xsl:attribute name="keywords">
857 <xsl:for-each select="ddue:keyword">
858 <xsl:value-of select="."/>
859 <xsl:if test="position() != last()">;</xsl:if>
860 </xsl:for-each>
861 </xsl:attribute>
862 <xsl:attribute name="prefix">&lt;ul&gt;&lt;li&gt;</xsl:attribute>
863 <xsl:attribute name="postfix">&lt;/li&gt;&lt;/ul&gt;</xsl:attribute>
864 <xsl:attribute name="separator">&lt;/li&gt;&lt;li&gt;</xsl:attribute>
865 </MSHelp:ktable>
866 </xsl:template>
867
868 <xsl:template match="ddue:codeFeaturedElement">
869 <xsl:if test="normalize-space(.)">
870 <!--<xsl:if test="count(preceding::ddue:codeFeaturedElement) &gt; 0"><br/></xsl:if>-->
871 <b><xsl:apply-templates/></b>
872 </xsl:if>
873 </xsl:template>
874
875 <xsl:template match="ddue:languageReferenceRemarks">
876 <xsl:if test="normalize-space(.)">
877 <xsl:call-template name="section">
878 <xsl:with-param name="toggleSwitch" select="'languageReferenceRemarks'"/>
879 <xsl:with-param name="title">
880 <include item="remarksTitle" />
881 </xsl:with-param>
882 <xsl:with-param name="content">
883 <xsl:apply-templates />
884 </xsl:with-param>
885 </xsl:call-template>
886 </xsl:if>
887 </xsl:template>
888
889 <xsl:template match="ddue:attributesandElements">
890 <xsl:if test="normalize-space(.)">
891 <xsl:call-template name="section">
892 <xsl:with-param name="toggleSwitch" select="'attributesAndElements'"/>
893 <xsl:with-param name="title">
894 <include item="attributesAndElements" />
895 </xsl:with-param>
896 <xsl:with-param name="content">
897 <xsl:apply-templates />
898 </xsl:with-param>
899 </xsl:call-template>
900 </xsl:if>
901 </xsl:template>
902
903 <xsl:template match="ddue:attributes">
904 <xsl:if test="normalize-space(.)">
905 <h4 class="subHeading">
906 <include item="attributes"/>
907 </h4>
908 <xsl:apply-templates/>
909 </xsl:if>
910 </xsl:template>
911
912 <xsl:template match="ddue:attribute">
913 <xsl:apply-templates/>
914 </xsl:template>
915
916 <xsl:template match="ddue:attribute/ddue:title">
917 <h4 class="subHeading">
918 <xsl:apply-templates/>
919 </h4>
920 </xsl:template>
921
922 <xsl:template match="ddue:childElement">
923 <xsl:if test="normalize-space(.)">
924 <h4 class="subHeading">
925 <include item="childElement"/>
926 </h4>
927 <xsl:apply-templates/>
928 </xsl:if>
929 </xsl:template>
930
931 <xsl:template match="ddue:parentElement">
932 <xsl:if test="normalize-space(.)">
933 <h4 class="subHeading">
934 <include item="parentElement"/>
935 </h4>
936 <xsl:apply-templates/>
937 </xsl:if>
938 </xsl:template>
939
940 <xsl:template match="ddue:textValue">
941 <xsl:if test="normalize-space(.)">
942 <xsl:call-template name="section">
943 <xsl:with-param name="toggleSwitch" select="'textValue'"/>
944 <xsl:with-param name="title">
945 <include item="textValue" />
946 </xsl:with-param>
947 <xsl:with-param name="content">
948 <xsl:apply-templates />
949 </xsl:with-param>
950 </xsl:call-template>
951 </xsl:if>
952 </xsl:template>
953
954 <xsl:template match="ddue:elementInformation">
955 <xsl:if test="normalize-space(.)">
956 <xsl:call-template name="section">
957 <xsl:with-param name="toggleSwitch" select="'elementInformation'"/>
958 <xsl:with-param name="title">
959 <include item="elementInformation" />
960 </xsl:with-param>
961 <xsl:with-param name="content">
962 <xsl:apply-templates />
963 </xsl:with-param>
964 </xsl:call-template>
965 </xsl:if>
966 </xsl:template>
967
968 <xsl:template match="ddue:dotNetFrameworkEquivalent">
969 <xsl:if test="normalize-space(.)">
970 <xsl:call-template name="section">
971 <xsl:with-param name="toggleSwitch" select="'dotNetFrameworkEquivalent'"/>
972 <xsl:with-param name="title">
973 <include item="dotNetFrameworkEquivalent" />
974 </xsl:with-param>
975 <xsl:with-param name="content">
976 <xsl:apply-templates />
977 </xsl:with-param>
978 </xsl:call-template>
979 </xsl:if>
980 </xsl:template>
981
982 <xsl:template match="ddue:prerequisites">
983 <xsl:if test="normalize-space(.)">
984 <xsl:call-template name="section">
985 <xsl:with-param name="toggleSwitch" select="'prerequisites'"/>
986 <xsl:with-param name="title">
987 <include item="prerequisites" />
988 </xsl:with-param>
989 <xsl:with-param name="content">
990 <xsl:apply-templates />
991 </xsl:with-param>
992 </xsl:call-template>
993 </xsl:if>
994 </xsl:template>
995
996 <xsl:template match="ddue:type">
997 <xsl:apply-templates/>
998 </xsl:template>
999
1000 <xsl:template match="ddue:robustProgramming">
1001 <xsl:if test="normalize-space(.)">
1002 <xsl:call-template name="section">
1003 <xsl:with-param name="toggleSwitch" select="'robustProgramming'"/>
1004 <xsl:with-param name="title">
1005 <include item="robustProgramming" />
1006 </xsl:with-param>
1007 <xsl:with-param name="content">
1008 <xsl:apply-templates />
1009 </xsl:with-param>
1010 </xsl:call-template>
1011 </xsl:if>
1012 </xsl:template>
1013
1014 <xsl:template match="ddue:security">
1015 <xsl:if test="normalize-space(.)">
1016 <xsl:call-template name="section">
1017 <xsl:with-param name="toggleSwitch" select="'security'"/>
1018 <xsl:with-param name="title">
1019 <include item="securitySection" />
1020 </xsl:with-param>
1021 <xsl:with-param name="content">
1022 <xsl:apply-templates />
1023 </xsl:with-param>
1024 </xsl:call-template>
1025 </xsl:if>
1026 </xsl:template>
1027
1028 <xsl:template match="ddue:externalResources">
1029 <xsl:if test="normalize-space(.)">
1030 <xsl:call-template name="section">
1031 <xsl:with-param name="toggleSwitch" select="'externalResources'"/>
1032 <xsl:with-param name="title">
1033 <include item="externalResources" />
1034 </xsl:with-param>
1035 <xsl:with-param name="content">
1036 <xsl:apply-templates />
1037 </xsl:with-param>
1038 </xsl:call-template>
1039 </xsl:if>
1040 </xsl:template>
1041
1042 <xsl:template match="ddue:demonstrates">
1043 <xsl:if test="normalize-space(.)">
1044 <xsl:call-template name="section">
1045 <xsl:with-param name="toggleSwitch" select="'demonstrates'"/>
1046 <xsl:with-param name="title">
1047 <include item="demonstrates" />
1048 </xsl:with-param>
1049 <xsl:with-param name="content">
1050 <xsl:apply-templates />
1051 </xsl:with-param>
1052 </xsl:call-template>
1053 </xsl:if>
1054 </xsl:template>
1055
1056 <xsl:template match="ddue:appliesTo">
1057 <xsl:if test="normalize-space(.)">
1058 <xsl:call-template name="section">
1059 <xsl:with-param name="toggleSwitch" select="'appliesTo'"/>
1060 <xsl:with-param name="title">
1061 <include item="appliesTo" />
1062 </xsl:with-param>
1063 <xsl:with-param name="content">
1064 <xsl:apply-templates />
1065 </xsl:with-param>
1066 </xsl:call-template>
1067 </xsl:if>
1068 </xsl:template>
1069
1070 <xsl:template match="ddue:conclusion">
1071 <xsl:apply-templates/>
1072 </xsl:template>
1073
1074 <xsl:template match="ddue:background">
1075 <xsl:if test="normalize-space(.)">
1076 <xsl:call-template name="section">
1077 <xsl:with-param name="toggleSwitch" select="'background'"/>
1078 <xsl:with-param name="title">
1079 <include item="background" />
1080 </xsl:with-param>
1081 <xsl:with-param name="content">
1082 <xsl:apply-templates />
1083 </xsl:with-param>
1084 </xsl:call-template>
1085 </xsl:if>
1086 </xsl:template>
1087
1088 <xsl:template match="ddue:whatsNew">
1089 <xsl:if test="normalize-space(.)">
1090 <xsl:call-template name="section">
1091 <xsl:with-param name="toggleSwitch" select="'whatsNew'"/>
1092 <xsl:with-param name="title">
1093 <include item="whatsNew" />
1094 </xsl:with-param>
1095 <xsl:with-param name="content">
1096 <xsl:apply-templates />
1097 </xsl:with-param>
1098 </xsl:call-template>
1099 </xsl:if>
1100 </xsl:template>
1101
1102 <xsl:template match="ddue:reference">
1103 <xsl:if test="normalize-space(.)">
1104 <xsl:call-template name="section">
1105 <xsl:with-param name="toggleSwitch" select="'reference'"/>
1106 <xsl:with-param name="title">
1107 <include item="reference" />
1108 </xsl:with-param>
1109 <xsl:with-param name="content">
1110 <xsl:apply-templates />
1111 </xsl:with-param>
1112 </xsl:call-template>
1113 </xsl:if>
1114 </xsl:template>
1115
1116 <xsl:template match="ddue:developerErrorMessageDocument">
1117 <xsl:for-each select="*">
1118 <xsl:choose>
1119 <xsl:when test="name() = 'secondaryErrorTitle'">
1120 <xsl:if test="not(../ddue:nonLocErrorTitle)">
1121 <xsl:apply-templates select=".">
1122 <xsl:with-param name="newSection">yes</xsl:with-param>
1123 </xsl:apply-templates>
1124 </xsl:if>
1125 </xsl:when>
1126
1127 <xsl:otherwise><xsl:apply-templates select="." /></xsl:otherwise>
1128 </xsl:choose>
1129 </xsl:for-each>
1130
1131 </xsl:template>
1132
1133 <xsl:template match="ddue:nonLocErrorTitle">
1134 <xsl:if test="string-length(../ddue:nonLocErrorTitle[normalize-space(.)]) > 0 or string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
1135 <div id="errorTitleSection" class="section">
1136 <xsl:if test="../ddue:secondaryErrorTitle">
1137 <h4 class="subHeading"><include item="errorMessage"/></h4>
1138 <xsl:apply-templates select="../ddue:secondaryErrorTitle">
1139 <xsl:with-param name="newSection">no</xsl:with-param>
1140 </xsl:apply-templates>
1141 </xsl:if>
1142 <xsl:apply-templates/><p/>
1143 </div>
1144 </xsl:if>
1145 </xsl:template>
1146
1147 <xsl:template match="ddue:secondaryErrorTitle">
1148 <xsl:param name="newSection"/>
1149 <xsl:if test="string-length(../ddue:secondaryErrorTitle[normalize-space(.)]) > 0">
1150 <xsl:choose>
1151 <xsl:when test="$newSection = 'yes'">
1152 <div id="errorTitleSection" class="section">
1153 <xsl:apply-templates/><p/>
1154 </div>
1155 </xsl:when>
1156 <xsl:otherwise><xsl:apply-templates/><br/></xsl:otherwise>
1157 </xsl:choose>
1158 </xsl:if>
1159 </xsl:template>
1160
1161
1162 <!--
1163 <xsl:template match="ddue:legacyLink | ddue:link">
1164 <a>
1165 <xsl:attribute name="href">
1166 <xsl:value-of select="@xlink:href" />
1167 <xsl:text>.htm</xsl:text>
1168 </xsl:attribute>
1169 <xsl:apply-templates />
1170 </a>
1171 </xsl:template>
1172-->
1173
1174 <xsl:template name="createReferenceLink">
1175 <xsl:param name="id" />
1176 <xsl:param name="qualified" select="false()" />
1177 <referenceLink target="{$id}" qualified="{$qualified}" />
1178 </xsl:template>
1179
1180 <xsl:template match="ddue:snippets">
1181 <xsl:if test="ddue:snippet">
1182 <div name="snippetGroup">
1183 <xsl:for-each select="ddue:snippet">
1184 <xsl:call-template name="codeSection">
1185 <xsl:with-param name="codeLang" select="@language" />
1186 </xsl:call-template>
1187 </xsl:for-each>
1188 </div>
1189 </xsl:if>
1190 </xsl:template>
1191
1192 <xsl:template name="section">
1193 <xsl:param name="toggleSwitch" />
1194 <xsl:param name="title" />
1195 <xsl:param name="nonToggletitle" />
1196 <xsl:param name="content" />
1197 <xsl:param name="toplink" select="false()" />
1198
1199 <xsl:variable name="toggleTitle" select="concat($toggleSwitch,'Toggle')" />
1200 <xsl:variable name="toggleSection" select="concat($toggleSwitch,'Section')" />
1201
1202 <h1 class="heading">
1203 <span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
1204 <img id="{$toggleTitle}" class="toggle" name="toggleSwitch">
1205 <includeAttribute name="src" item="iconPath">
1206 <parameter>collapse_all.gif</parameter>
1207 </includeAttribute>
1208 </img>
1209 <xsl:copy-of select="$title" />
1210 </span>
1211 <xsl:copy-of select="$nonToggletitle" />
1212 </h1>
1213
1214 <div id="{$toggleSection}" class="section" name="collapseableSection" style="">
1215 <xsl:copy-of select="$content" />
1216 <xsl:if test="boolean($toplink)">
1217 <a href="#mainBody"><include item="top"/></a>
1218 </xsl:if>
1219 </div>
1220
1221 </xsl:template>
1222
1223 <xsl:template name="subSection">
1224 <xsl:param name="title" />
1225 <xsl:param name="content" />
1226
1227 <h4 class="subHeading">
1228 <xsl:copy-of select="$title" />
1229 </h4>
1230 <xsl:copy-of select="$content" />
1231
1232 </xsl:template>
1233
1234 <xsl:template match="ddue:developerSampleDocument">
1235 <!-- show the topic intro -->
1236 <xsl:apply-templates select="ddue:introduction"/>
1237
1238 <!-- the sample download list section from dsSample -->
1239 <xsl:if test="ddue:relatedTopics/ddue:sampleRef">
1240 <include item="{ddue:relatedTopics/ddue:sampleRef/@srcID}"/>
1241 </xsl:if>
1242
1243 <!-- then the rest of the topic's content -->
1244 <xsl:for-each select="*">
1245 <xsl:choose>
1246 <!-- introduction was already captured above -->
1247 <xsl:when test="name() = 'introduction'"/>
1248
1249 <xsl:otherwise>
1250 <xsl:apply-templates select="." />
1251 </xsl:otherwise>
1252 </xsl:choose>
1253 </xsl:for-each>
1254
1255 </xsl:template>
1256
1257 <xsl:template name="hostProtectionContent">
1258 <!-- HostProtectionAttribute boilerplate -->
1259 <div class="alert">
1260 <table width="100%" cellspacing="0" cellpadding="0">
1261 <tr>
1262 <th align="left">
1263 <img class="note">
1264 <includeAttribute name="title" item="noteAltText" />
1265 <includeAttribute item="iconPath" name="src">
1266 <parameter>alert_note.gif</parameter>
1267 </includeAttribute>
1268 </img>
1269 <include item="noteTitle" />
1270 </th>
1271 </tr>
1272 <tr>
1273 <td>
1274 <p>
1275 <include item="hostProtectionAttributeLong">
1276 <parameter>
1277 <xsl:value-of select="concat($subgroup, 'Lower')"/>
1278 </parameter>
1279 <parameter>
1280 <b>
1281 <xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
1282 <xsl:value-of select="@name"/>
1283 <xsl:if test="position() != last()">
1284 <xsl:text> | </xsl:text>
1285 </xsl:if>
1286 </xsl:for-each>
1287 </b>
1288 </parameter>
1289 </include>
1290 </p>
1291 </td>
1292 </tr>
1293 </table>
1294 </div>
1295 </xsl:template>
1296
1297 <xsl:template name="writeFreshnessDate">
1298 <xsl:param name="ChangedHistoryDate" />
1299
1300 <xsl:choose>
1301 <xsl:when test="normalize-space($RTMReleaseDate) = ''" />
1302 <xsl:when test="normalize-space($ChangedHistoryDate) = ''">
1303 <include item="UpdateTitle">
1304 <parameter>
1305 <xsl:value-of select="$RTMReleaseDate"/>
1306 </parameter>
1307 </include>
1308 </xsl:when>
1309 <xsl:otherwise>
1310 <xsl:variable name="date" select="ddue:CompareDate($RTMReleaseDate, $ChangedHistoryDate)"/>
1311 <xsl:choose>
1312 <xsl:when test="$date = 'notValidDate'" />
1313 <xsl:otherwise>
1314 <include item="UpdateTitle">
1315 <parameter>
1316 <xsl:value-of select="$date"/>
1317 </parameter>
1318 </include>
1319 </xsl:otherwise>
1320 </xsl:choose>
1321 </xsl:otherwise>
1322 </xsl:choose>
1323 </xsl:template>
1324
1325 <!-- Process the markup added by MTMarkup tool -->
1326 <xsl:template match="ddue:span">
1327 <xsl:choose>
1328 <xsl:when test="@class='tgtSentence' or @class='srcSentence'">
1329 <span>
1330 <xsl:copy-of select="@*" />
1331 <xsl:apply-templates />
1332 </span>
1333 </xsl:when>
1334 </xsl:choose>
1335 </xsl:template>
1336
1337</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.