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