Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4462 dpurdie 1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--
3
    This XSLT Stylesheet processes releaseNote XML file and generates an HTML output
4
 
5
    Note:
6
    “&#160;” is a replacement of “&nbsp;
7
-->
8
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
9
	<xsl:output method="html" encoding="UTF-8" indent="yes" />
4688 dpurdie 10
 
4462 dpurdie 11
	<!-- Insert text and an hyperlinked email address -->
12
	<xsl:template name="mailUrl">
13
		<xsl:param name="text"/>
14
		<xsl:param name="email"/>
15
		<a class="txt_linked">
16
			<xsl:attribute name="href">
17
                <xsl:text>mailto:</xsl:text>
18
                <xsl:value-of select="$email"/>
19
                </xsl:attribute>
20
			<xsl:value-of select="$text"/>
21
		</a>
22
	</xsl:template>
23
 
24
	<!-- Insert version Number and an hyperlinked ref to Package release note -->
25
	<xsl:variable name="vrTemplate" select="'../../../PKGNAME/VERSION/doc/RELEASE_NOTES_PVID_PKGNAME_CLEANV.html'"/>
26
	<xsl:template name="versionRef">
27
		<xsl:param name="pkg"/>
28
		<xsl:param name="version"/>
29
		<xsl:param name="pvid"/>
30
		<a class="txt_linked">
31
			<xsl:variable name="r1" select="replace($vrTemplate,'PKGNAME',$pkg)"/>
32
			<xsl:variable name="r2" select="replace($r1,'VERSION',$version)"/>
33
			<xsl:variable name="r3" select="replace($r2,'PVID',$pvid)"/>
34
			<xsl:variable name="r4" select="replace($r3,'CLEANV',translate($version,'.','_'))"/>
35
			<xsl:attribute name="href"><xsl:value-of select="$r4"/></xsl:attribute>
36
			<xsl:value-of select="$version"/>
37
		</a>
38
	</xsl:template>
39
 
40
	<!-- Insert class attribute based on type -->
41
	<xsl:template name="changeClass">
42
		<xsl:param name="style"/>
43
		<xsl:attribute name="class">
44
            <xsl:choose>
45
                <xsl:when test="$style = 'deleted'">
46
                    <xsl:value-of select="'pkg_removed'"/>
47
                    </xsl:when>
48
                <xsl:when test="$style = 'added'">
49
                    <xsl:value-of select="'pkg_added'"/>
50
                </xsl:when>
51
                <xsl:when test="$style = 'modified'">
52
                    <xsl:value-of select="'pkg_changed'"/>
53
                </xsl:when>
54
                <xsl:otherwise>
55
                    <xsl:value-of select="'body_txt'"/>
56
                </xsl:otherwise>
57
            </xsl:choose>
58
        </xsl:attribute>
59
	</xsl:template>
60
 
4470 dpurdie 61
    <!-- Insert Body of a Jira Issue -->
62
    <xsl:template name="jiraIssue">
63
        <xsl:param name="mode"/>
64
        <xsl:param name="prefix"/>
65
        <xsl:param name="pkg"/>
4462 dpurdie 66
 
4470 dpurdie 67
        <xsl:if test="$mode = 'full'">
68
            <td><xsl:value-of select="./@resolution"/></td>
69
        </xsl:if>
70
        <td><a>
71
                <xsl:attribute name="href">
72
                    <xsl:text>javascript:;</xsl:text>
73
                </xsl:attribute>
74
                <xsl:attribute name="onclick">
75
                    <xsl:text>toggleId('</xsl:text>
76
                    <xsl:value-of select="string-join(($prefix,$pkg,./@key),'_')"/>
77
                    <xsl:text>');</xsl:text>
78
                </xsl:attribute>
79
            <xsl:value-of select="./@key"/>
80
            </a>
81
        </td>
82
        <td><xsl:text>JIRA</xsl:text></td>
83
        <td class="wrap"><xsl:value-of select="./@summary" disable-output-escaping="yes"/>
84
             <div style="display: none;">
85
                 <xsl:attribute name="id">
86
                     <xsl:value-of select="string-join(($prefix,$pkg,./@key),'_')"/>
87
                 </xsl:attribute>
88
             <table class="tbl_inner">
89
                 <tr><td>
90
             <table class="tbl_inner border_thin">
91
                 <tr>
92
                     <td><strong>Properties</strong></td>
93
                     <td></td>
94
                     <td></td>
95
                     <td></td>
96
                 </tr>
97
 
98
                 <tr> 
99
                   <td class="right">Issue Type</td>
100
                   <td><select name="group_id" class="form_item" disabled="1">
101
                       <option selected="1"><xsl:value-of select="./@type"/></option>
102
                     </select></td>
103
                   <td class="right">Submitter</td>
104
                   <td><select name="select" class="form_item" disabled="1">
105
                       <option selected="1"><xsl:value-of select="./@reporter"/></option>
106
                     </select>
107
                   </td>
108
                 </tr>
109
 
110
                 <tr>
111
                 <td class="right">Detected in Version</td>
112
                 <td><select name="group_id" class="form_item" disabled="1">
113
                     <option selected="1"></option>
114
                   </select></td>
115
                 <td class="right">Submited on Date</td>
116
                 <td><select name="select" class="form_item" disabled="1">
117
                     <option selected="1"><xsl:value-of select="./@created"/></option>
118
                   </select>
119
                 </td>
120
               </tr>
121
 
122
               <tr> 
123
                 <td class="right">Project</td>
124
                 <td><select name="group_id" class="form_item" disabled="1">
125
                     <option selected="1"><xsl:value-of select="./@project"/></option>
126
                   </select></td>
127
                 <td class="right">Assignee</td>
128
                 <td><select name="select" class="form_item" disabled="1">
129
                     <option selected="1"><xsl:value-of select="./@assignee"/></option>
130
                   </select>
131
                 </td>
132
               </tr>
133
 
134
               <tr> 
135
                 <td class="right">Components</td>
136
                 <td><select name="group_id" class="form_item" disabled="1">
137
                     <option selected="1"><xsl:value-of select="string-join((./category),',')"/></option>
138
                   </select></td>
139
               </tr>
140
 
141
               <tr> 
142
                 <td class="right">Priority</td>
143
                 <td><select name="group_id" class="form_item" disabled="1">
144
                     <option selected="1"><xsl:value-of select="./@priority"/></option>
145
                   </select></td>
146
               </tr>
147
 
148
               <tr> 
149
                 <td class="right">Status</td>
150
                 <td><select name="group_id" class="form_item" disabled="1">
151
                     <option selected="1"><xsl:value-of select="./@status"/></option>
152
                   </select></td>
153
                   <td class="right">Resolution Date</td>
154
                   <td><select name="select" class="form_item" disabled="1">
155
                       <option selected="1"><xsl:value-of select="./@resolutiondate"/></option>
156
                     </select>
157
                   </td>
158
               </tr>
159
 
160
             </table>
161
             </td>
162
             </tr>
163
 
164
             <tr>
165
                 <td>
166
                     <table class="tbl_inner border_thin">
167
                       <tr>
168
                         <td class="wrap"><strong>Description</strong>
169
                         <br/>
170
                         <xsl:value-of select="./@description" disable-output-escaping="yes"/>
171
                         </td>
172
                       </tr>
173
                     </table>
174
                 </td>
175
             </tr>
176
             </table>
177
             </div>
178
 
179
        </td>
180
        <td><xsl:value-of select="./@type"/></td>
181
        <td><xsl:value-of select="./@priority"/></td>
182
    </xsl:template>
183
 
184
    <!-- Insert Body of a ClearQuest Issue -->
185
    <xsl:template name="clearQuestIssue">
186
        <xsl:param name="mode"/>
187
        <xsl:param name="prefix"/>
188
        <xsl:param name="pkg"/>
189
 
190
        <xsl:if test="$mode = 'full'">
191
            <td><xsl:value-of select="./@iss_state"/></td>
192
        </xsl:if>
193
 
194
        <td><a>
195
                <xsl:attribute name="href">
196
                    <xsl:text>javascript:;</xsl:text>
197
                </xsl:attribute>
198
                <xsl:attribute name="onclick">
199
                    <xsl:text>toggleId('</xsl:text>
200
                    <xsl:value-of select="string-join(($pkg,$prefix,./@iss_uid),'_')"/>
201
                    <xsl:text>');</xsl:text>
202
                </xsl:attribute>
203
            <xsl:value-of select="./@iss_num"/>
204
            </a>
205
        </td>
206
        <td><xsl:text>DEVI:</xsl:text><xsl:value-of select="./@iss_db"/></td>
207
        <td class="wrap">
208
            <xsl:value-of select="./@summary"/>
209
        <div style="display: none;">
210
            <xsl:attribute name="id">
211
                <xsl:value-of select="string-join(($pkg,$prefix,./@iss_uid),'_')"/>
212
            </xsl:attribute>
213
        <table class="tbl_inner">
214
            <tr><td>
215
        <table class="tbl_inner border_thin">
216
            <tr>
217
                <td><strong>Properties</strong></td>
218
                <td></td>
219
                <td></td>
220
                <td></td>
221
            </tr>
222
 
223
            <tr> 
224
              <td class="right">Issue Type</td>
225
              <td><select name="group_id" class="form_item" disabled="1">
226
                  <option selected="1"><xsl:value-of select="./@issue_type"/></option>
227
                </select></td>
228
              <td class="right">Submitter</td>
229
              <td><select name="select" class="form_item" disabled="1">
230
                  <option selected="1"><xsl:value-of select="./@submitter"/></option>
231
                </select>
232
              </td>
233
            </tr>
234
 
235
            <tr>
236
            <td class="right">Detected in Version</td>
237
            <td><select name="group_id" class="form_item" disabled="1">
238
                <option selected="1"><xsl:value-of select="string-join((./@release_part1,./@release_part2,./@release_part3),'.')"/></option>
239
              </select></td>
240
            <td class="right">Submited on Date</td>
241
            <td><select name="select" class="form_item" disabled="1">
242
                <option selected="1"><xsl:value-of select="./@submit_date"/></option>
243
              </select>
244
            </td>
245
          </tr>
246
 
247
          <tr> 
248
            <td class="right">Project</td>
249
            <td><select name="group_id" class="form_item" disabled="1">
250
                <option selected="1"><xsl:value-of select="./@project"/></option>
251
              </select></td>
252
            <td class="right">Owner</td>
253
            <td><select name="select" class="form_item" disabled="1">
254
                <option selected="1"><xsl:value-of select="./@owner"/></option>
255
              </select>
256
            </td>
257
          </tr>
258
 
259
          <tr> 
260
            <td class="right">Product</td>
261
            <td><select name="group_id" class="form_item" disabled="1">
262
                <option selected="1"><xsl:value-of select="./@product"/></option>
263
              </select></td>
264
            <td class="right">Approver</td>
265
            <td><select name="select" class="form_item" disabled="1">
266
                <option selected="1"><xsl:value-of select="./@approver"/></option>
267
              </select>
268
            </td>
269
          </tr>
270
 
271
          <tr> 
272
            <td class="right">Package</td>
273
            <td><select name="group_id" class="form_item" disabled="1">
274
                <option selected="1"><xsl:value-of select="./@package_ref"/></option>
275
              </select></td>
276
          </tr>
277
 
278
          <tr> 
279
            <td class="right">Priority</td>
280
            <td><select name="group_id" class="form_item" disabled="1">
281
                <option selected="1"><xsl:value-of select="./@priority"/></option>
282
              </select></td>
283
          </tr>
284
 
285
          <tr> 
286
            <td class="right">Status</td>
287
            <td><select name="group_id" class="form_item" disabled="1">
288
                <option selected="1"><xsl:value-of select="./@status"/></option>
289
              </select></td>
290
          </tr>
291
 
292
        </table>
293
        </td>
294
        </tr>
295
 
296
        <tr>
297
            <td>
298
                <table class="tbl_inner border_thin">
299
                  <tr>
300
                    <td class="wrap"><strong>Description</strong>
301
                    <br/>
302
                    <xsl:value-of select="./@description" disable-output-escaping="yes"/>
303
                    </td>
304
                  </tr>
305
                </table>
306
            </td>
307
        </tr>
308
 
309
        <tr>
310
            <td>
311
                <table class="tbl_inner border_thin">
312
                  <tr>
313
                    <td class="wrap"><strong>Notes Log</strong>
314
                    <br/>
315
                    <xsl:value-of select="./@notes_log" disable-output-escaping="yes"/>
316
                    </td>
317
                  </tr>
318
                </table>
319
            </td>
320
        </tr>
321
        </table>
322
        </div>
323
        </td>
324
        <td><xsl:value-of select="./@issue_type"/></td>
325
        <td><xsl:value-of select="./@priority"/></td>
326
 
327
    </xsl:template>
328
 
4462 dpurdie 329
	<!-- Keys to assist in the handling of ClearQuest and Jira Issues -->
330
    <xsl:key name="cqIssues" match="/package_data/issues/clearquest" use="@iss_uid" />
331
    <xsl:key name="jiraIssues" match="/package_data/issues/jira" use="@key" />
332
 
333
 
334
	<!-- =============================================================================================== -->
335
	<!--    Start of the main body of the transform -->
336
	<!-- =============================================================================================== -->
337
	<xsl:template match="/">
338
        <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;</xsl:text>
339
		<html>
340
			<head>
341
				<title>VIX Release Notes</title>
342
				<style type="text/css">
343
            .body_txt{color:#000000;font:11px tahoma,sans-serif;text-decoration:none;}
344
            .body_txt_gray{
345
                color: Gray;
346
                font: bold 11px tahoma,sans-serif;
347
                text-decoration:none;
348
            }
349
            .bold {font-weight:bold;}
350
            .hdr2 {background-color: rgb(207, 223, 204);}
4488 dpurdie 351
            .body_txt_lrg{color:#000000;font: 14px tahoma,sans-serif;font-weight: bold;text-decoration:none;}
4462 dpurdie 352
            .body_txt_small{color:#000000;font: 9px tahoma,sans-serif;text-decoration:none;}
353
            .body_txt_macro{color: #808080;font:9px tahoma,sans-serif;font-weight: normal;padding-right: 10px;text-decoration:none}
354
            .body_txt_pre{
355
                color:#000000;
356
                font: 12px "Courier New", Courier, monospace;
357
                text-decoration:none;
358
            }
359
            .pkg_removed .pkgType {
360
                color:red;
361
                font:11px tahoma,sans-serif;
362
                text-decoration: line-through;
363
            }
364
            .pkg_changed .pkgType {
365
                color:#000000;
366
                font: bold 11px tahoma,sans-serif;
367
                text-decoration:none;
368
            }
369
            .pkg_added .pkgType{
370
                color:green;
371
                font: bold 11px tahoma,sans-serif;
372
                text-decoration:none;
373
            }
374
            .body_sect{  font-family: Arial, sans-serif; font-size: 18px; color: Black; text-decoration: none; }
375
            .body_ttl {FONT-WEIGHT: bold; FONT-SIZE: 26px; COLOR: Black;  FONT-FAMILY: Arial, sans-serif; }
376
            .body_ttl_w {
377
                FONT-WEIGHT: bold;
378
                FONT-SIZE: 26px;
379
                COLOR: White;
380
                FONT-FAMILY: Arial, sans-serif;
381
                padding-left : 10px;
382
                padding-right : 10px;
383
                background-color: #002544;
384
            }
385
            .body_sttl { FONT-SIZE: 18; COLOR: #003366;  FONT-FAMILY: Arial, sans-serif; }
386
            .txt_linked {  font-family: tahoma,sans-serif; font-size: 11px; color: #0066FF; text-decoration: underline;  font : normal; }
4469 dpurdie 387
            .form_item {  font-family: tahoma,sans-serif; font-size: 11px; color: Black; text-decoration: none; width:15em; }
4462 dpurdie 388
            th {
389
                color:#000000;
390
                font:11px tahoma,sans-serif;
391
                font-weight:bold;
392
                padding-right: 3px;
393
                text-decoration:none;
394
                background : #F5F5F5;
395
                padding-left : 3px;
396
                text-align : left;
397
                white-space: nowrap;
398
                vertical-align: top;
399
                }
400
            td {
401
                white-space: nowrap;
402
                vertical-align: top;
403
                color:#000000;
404
                font:11px tahoma,sans-serif;
405
                text-decoration:none;
406
            }
407
            .tbl_noborder {
408
                width: 100%;
409
                border-style:none;
410
                border-spacing:0px;
411
                margin-bottom: 1em;
412
                }
4469 dpurdie 413
            .tbl_inner {
414
                width: 100%;
415
                border-style:none;
416
                border-spacing:0px;
417
                }
4462 dpurdie 418
            .tbl_outer{
419
                width: 100%;
420
                border-top-width: 1px;
421
                border-right-width: 1px;
422
                border-bottom-width: 1px;
423
                border-left-width: 1px;
424
                border-spacing: 0px;
425
                border-color: gray;
426
                border-style: solid;
427
                }
428
            table.tbl_border {
429
                width: 100%;
430
                border-collapse: collapse;
431
                margin-bottom: 1em;
432
                }
433
             .tbl_border td,.tbl_border th {
434
                border: 1px solid gray;
435
                padding: 2px;
436
                border-width: 2px;
437
                }
4469 dpurdie 438
             .tbl_inner td,.tbl_inner th {
439
                border: none;
440
                padding: 2px;
441
                border-width: 2px;
442
                }
443
 
4462 dpurdie 444
             .wrap {
445
                white-space: normal;
446
             }
447
             .tbl_title{
448
                background : #E4E9EC;
449
             }
4469 dpurdie 450
             .right {
451
                text-align:right;
452
             }
453
             .border_thin {
454
                border: 1px solid gray;
455
                padding: 2px;
456
             }
4462 dpurdie 457
            </style>
4469 dpurdie 458
            <script language="JavaScript" type="text/javascript">
459
                <![CDATA[
460
                function MM_findObj(n, d) { //v4.0
461
                  var p,i,x;  
462
                  if(!d) d=document; 
463
                  if((p=n.indexOf("?"))>0&&parent.frames.length) {
464
                  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
465
                  }
466
                  if(!(x=d[n])&&d.all) x=d.all[n]; 
467
                  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
468
                  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
469
                  if(!x && document.getElementById) x=document.getElementById(n); 
470
                  return x;
471
                }
472
 
473
                function toggleId() {
474
                	var i, args, row_name, e;
475
 
476
                	args=toggleId.arguments;
477
 
478
                	for (i=0; i<(args.length); i+=1) { 
479
                		row_name=args[i]; 
480
                		e = MM_findObj(row_name);
481
                        if(e) {
482
                            if(e.style.display == 'none')
483
                                e.style.display = 'block';
484
                            else
485
                                e.style.display = 'none';
486
                       }
487
                	}
488
                }
489
                ]]>
490
                </script>
4462 dpurdie 491
			</head>
492
			<body>
493
                <!-- Page Title -->
494
				<table class="tbl_noborder">
495
					<tbody>
496
						<tr>
497
							<td align="right" class="body_ttl_w">RELEASE NOTES</td>
498
							<td align="left" class="body_ttl_w">VIX Technology</td>
499
						</tr>
500
					</tbody>
501
				</table>
502
 
503
                <!-- Package Name -->
504
				<table class="tbl_noborder">
505
					<tbody>
506
						<tr>
507
							<td align="center" class="body_sttl">
508
								<strong>
509
									<xsl:value-of select="/package_data/package/@name"/>
510
									<xsl:text>&#160;</xsl:text>
511
									<xsl:value-of select="/package_data/package/@version"/>
512
								</strong>
513
							</td>
514
						</tr>
515
					</tbody>
516
				</table>
517
 
518
                <!-- Package Identification -->
519
				<table class="tbl_border">
520
					<tbody>
521
						<tr>
522
							<td colspan="4" class="tbl_title">
523
								<span class="body_sect">
524
                                    <xsl:text>Identification:</xsl:text>
525
                                    </span>
526
								<p/>
527
                                <xsl:text>This release can be uniquely identified by:</xsl:text>
528
                            </td>
529
						</tr>
530
						<tr>
531
							<th width="1%">Name:</th>
532
							<td width="35%">
533
								<xsl:value-of select="/package_data/package/@name"/>
534
							</td>
535
							<th width="1%">Released:</th>
536
							<td>
537
								<xsl:value-of select="/package_data/package/@modified_stamp"/> by
538
                                <xsl:call-template name="mailUrl">
539
									<xsl:with-param name="text" select="/package_data/package/@modifier"/>
540
									<xsl:with-param name="email" select="/package_data/package/@modifier_email"/>
541
								</xsl:call-template>
542
							</td>
543
						</tr>
544
						<tr>
545
							<th width="1%">Version:</th>
546
							<td>
547
								<xsl:value-of select="/package_data/package/@version"/>
548
							</td>
549
							<th width="1%">Owner:</th>
550
							<td>
551
								<xsl:call-template name="mailUrl">
552
									<xsl:with-param name="text" select="/package_data/package/@owner"/>
553
									<xsl:with-param name="email" select="/package_data/package/@owner_email"/>
554
								</xsl:call-template>
555
							</td>
556
						</tr>
557
						<tr>
558
							<th width="1%">VCS Path:</th>
559
							<td width="35%" colspan="3" class="wrap">
560
								<xsl:value-of select="/package_data/package/@vcstag"/>
561
							</td>
562
						</tr>
563
					</tbody>
564
				</table>
565
 
566
                <!-- Package Information -->
567
				<table class="tbl_border">
568
					<tbody>
569
						<tr>
570
							<td colspan="2" class="tbl_title body_sect">Package Information:</td>
571
						</tr>
572
						<tr>
573
							<th width="1%">Short Description</th>
574
							<td width="100%" class="wrap">
575
								<xsl:value-of select="/package_data/package/@short_desc" disable-output-escaping="yes"/>
576
							</td>
577
						</tr>
578
						<tr>
579
							<th>Overview</th>
580
							<td class="wrap">
581
								<xsl:value-of select="/package_data/package/@long_desc" disable-output-escaping="yes"/>
582
							</td>
583
						</tr>
584
					</tbody>
585
				</table>
586
 
587
                <!-- Package Reason for Version -->
588
				<table class="tbl_border">
589
					<tbody>
590
						<tr>
591
							<td class="tbl_title body_sect">Reason For This Version:</td>
592
						</tr>
593
						<tr>
594
							<td class="wrap">
595
								<xsl:value-of select="/package_data/package/@reason" disable-output-escaping="yes"/>
596
								<br/>
597
								<xsl:text>Also see "Issues" section below.</xsl:text>
598
							</td>
599
						</tr>
600
					</tbody>
601
				</table>
602
 
603
				<!-- Issues within this package -->
604
				<table class="tbl_border">
605
					<tbody>
606
						<tr class="tbl_title">
607
							<td colspan="5">
608
 
609
								<span class="body_sect">Issues:</span>
610
								<p>
611
                                    <xsl:text>This package has the following issue status:</xsl:text>
612
                                </p>
613
                                </td>
614
						</tr>
615
						<tr>
616
							<th width="2%">Issue ID</th>
617
							<th width="1%">Issue DB</th>
618
							<th width="90%">Summary</th>
619
							<th width="1%">Issue Type</th>
620
							<th width="1%">Priority</th>
621
						</tr>
622
						<tr>
623
							<td colspan="5" class="tbl_title"/>
624
						</tr>
625
 
626
                        <!-- Fixed Jira Issues -->
627
						<tr>
628
							<td colspan="5" class="body_txt_lrg hdr2">
629
								<xsl:text>Fixed Jira Issues:</xsl:text> 
630
                            </td>
631
                        </tr>
632
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution = 'Fixed']">
633
                            <tr>
4470 dpurdie 634
								<xsl:call-template name="jiraIssue">
635
									<xsl:with-param name="mode" select="'short'"/>
636
									<xsl:with-param name="prefix" select="'J1'"/>
637
									<xsl:with-param name="pkg" select="/package_data/package/@pname"/>
638
                                </xsl:call-template>
4462 dpurdie 639
                            </tr>
640
                        </xsl:for-each>
641
 
642
                        <!-- Fixed ClearQuest Issues -->
643
                        <tr>
644
                            <td colspan="5" class="body_txt_lrg hdr2">
645
                                <xsl:text>Fixed ClearQuest Issues:</xsl:text>
646
                            </td>
647
                        </tr>
648
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state = '1']">
649
                            <tr>
4470 dpurdie 650
								<xsl:call-template name="clearQuestIssue">
651
									<xsl:with-param name="mode" select="'short'"/>
652
									<xsl:with-param name="prefix" select="'C1'"/>
653
									<xsl:with-param name="pkg" select="/package_data/package/@pname"/>
654
                                </xsl:call-template>
4462 dpurdie 655
                            </tr>
656
                        </xsl:for-each>
657
						<tr>
658
							<td colspan="5" class="tbl_title"/>
659
						</tr>
660
 
661
                        <!-- Outstanding Jira Issues -->
662
						<tr>
663
							<td colspan="5" class="body_txt_lrg hdr2">
664
								<xsl:text>Outstanding Jira Issues:</xsl:text>
665
							</td>
666
						</tr>
667
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution != 'Fixed']">
668
                            <tr>
4470 dpurdie 669
								<xsl:call-template name="jiraIssue">
670
									<xsl:with-param name="mode" select="'short'"/>
671
									<xsl:with-param name="prefix" select="'J2'"/>
672
									<xsl:with-param name="pkg" select="/package_data/package/@pname"/>
673
                                </xsl:call-template>
4462 dpurdie 674
                            </tr>
675
                        </xsl:for-each>
676
 
677
                        <!-- Outstanding ClearQuest Issues -->
678
						<tr>
679
							<td colspan="5" class="body_txt_lrg hdr2">
680
								<xsl:text>Outstanding ClearQuest Issues:</xsl:text>
681
							</td>
682
						</tr>
683
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state != '1']">
684
                            <tr>
4470 dpurdie 685
								<xsl:call-template name="clearQuestIssue">
686
									<xsl:with-param name="mode" select="'short'"/>
687
									<xsl:with-param name="prefix" select="'C2'"/>
688
									<xsl:with-param name="pkg" select="/package_data/package/@pname"/>
689
                                </xsl:call-template>
4462 dpurdie 690
                            </tr>
691
                        </xsl:for-each>
692
 
693
						<tr>
694
							<td colspan="5" class="tbl_title"/>
695
						</tr>
696
					</tbody>
697
				</table>
698
 
699
				<!-- Deployed package extended issue list -->
700
				<table class="tbl_border">
701
					<tbody>
702
						<tr class="tbl_title">
703
							<td colspan="6">
704
								<span class="body_sect">
705
                                    <xsl:text>Issues:</xsl:text>
706
                                    </span>
707
                                    <p>
708
                                    <xsl:text>This release has the following issue status:</xsl:text>
709
                                    </p>
710
							</td>
711
						</tr>
712
						<xsl:for-each select="/package_data/build/dependency">
713
							<xsl:sort select="upper-case(./@name)"/>
4470 dpurdie 714
                            <xsl:variable name="dpkg" select="./@pname"/>
4462 dpurdie 715
							<tr>
716
								<td colspan="6" class="tbl_title"/>
717
							</tr>
718
							<tr>
719
								<td colspan="6">
720
									<span class="body_txt_lrg">
721
                                        <xsl:value-of select="./@name"/>&#160;<xsl:value-of select="./@version"/>
722
									</span>
723
									<br/>
724
									<xsl:value-of select="./@reason" disable-output-escaping="yes"/>
725
								</td>
726
							</tr>
727
 
4469 dpurdie 728
                            <!-- Fixed Issues Jira and ClearCase : Common Header -->
4462 dpurdie 729
                            <xsl:if test="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed'] or key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
730
                                <tr>
731
                                  <th width="2%">Fixed</th>
732
                                  <th width="2%">Issue ID</th>
733
                                  <th width="1%">Issue DB</th>
734
                                  <th width="90%">Summary</th>
735
                                  <th width="1%">Issue Type</th>
736
                                  <th width="1%">Priority</th>
737
                                </tr>
738
 
739
                                <!-- Fixed Jira Issues -->
740
                                <xsl:for-each select="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed']">
741
                                    <tr>
4470 dpurdie 742
                                        <xsl:call-template name="jiraIssue">
743
                                            <xsl:with-param name="mode" select="'full'"/>
744
                                            <xsl:with-param name="prefix" select="'J3'"/>
745
                                            <xsl:with-param name="pkg" select="$dpkg"/>
746
                                        </xsl:call-template>
4462 dpurdie 747
                                    </tr>
748
                                </xsl:for-each>
749
 
750
                                <!-- Fixed ClearQuest Issues -->
751
                                <xsl:for-each select="key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
752
                                    <tr>
4470 dpurdie 753
                                        <xsl:call-template name="clearQuestIssue">
754
                                            <xsl:with-param name="mode" select="'full'"/>
755
                                            <xsl:with-param name="prefix" select="'C3'"/>
756
                                            <xsl:with-param name="pkg" select="$dpkg"/>
757
                                        </xsl:call-template>
4462 dpurdie 758
                                    </tr>
759
                                </xsl:for-each>
760
                            </xsl:if>
761
						</xsl:for-each>
762
					</tbody>
763
				</table>
764
 
765
				<!-- Deployed package: Changes since last version -->
766
				<table class="tbl_border">
767
					<tbody>
768
						<tr>
769
							<td colspan="5" class="tbl_title">
770
								<span class="body_sect">Changes Since Last Version:</span>
771
								<br/>
772
								<xsl:text>This represents the build dependency differences between </xsl:text>
773
								<xsl:value-of select="//package_data/package/@name"/>&#160;<xsl:value-of select="//package_data/package/@version"/>
774
								<xsl:text> and </xsl:text>
775
								<xsl:call-template name="versionRef">
776
									<xsl:with-param name="pkg" select="//package_data/package/previous/@name"/>
777
									<xsl:with-param name="version" select="//package_data/package/previous/@version"/>
778
									<xsl:with-param name="pvid" select="//package_data/package/previous/@pvid"/>
779
								</xsl:call-template>
780
							</td>
781
						</tr>
782
						<tr>
783
							<th width="1%">Status</th>
784
							<th width="1%">Dependency Name</th>
785
							<th width="1%">Current Version</th>
786
							<th width="1%">Previous Version</th>
4471 dpurdie 787
							<th>Last Owner</th>
4462 dpurdie 788
						</tr>
789
						<xsl:for-each select="/package_data/builddep/dependencydiff">
790
							<xsl:sort select="upper-case(./@name)"/>
791
							<tr>
792
								<xsl:call-template name="changeClass">
793
									<xsl:with-param name="style" select="./@status"/>
794
								</xsl:call-template>
795
								<td class="body_txt_gray pkgType">
796
									<xsl:value-of select="./@status"/>
797
								</td>
798
								<td class="pkgType">
799
									<xsl:value-of select="./@name"/>
800
								</td>
801
								<td>
802
									<xsl:call-template name="versionRef">
803
										<xsl:with-param name="pkg" select="./@name"/>
804
										<xsl:with-param name="version" select="./@version"/>
805
										<xsl:with-param name="pvid" select="./@pvid"/>
806
									</xsl:call-template>
807
								</td>
808
								<td>
809
									<xsl:call-template name="versionRef">
810
										<xsl:with-param name="pkg" select="./@name"/>
811
										<xsl:with-param name="version" select="./@previous_version"/>
812
										<xsl:with-param name="pvid" select="./@previous_pvid"/>
813
									</xsl:call-template>
814
								</td>
815
								<td>
816
									<xsl:call-template name="mailUrl">
817
										<xsl:with-param name="text" select="./@modifier"/>
818
										<xsl:with-param name="email" select="./@modifier_email"/>
819
									</xsl:call-template>
820
								</td>
821
							</tr>
822
						</xsl:for-each>
823
					</tbody>
824
				</table>
825
 
826
                <!-- Build Dependencies -->
827
				<table class="tbl_border">
828
					<tbody>
829
						<tr>
830
							<td colspan="2" class="tbl_title">
831
								<span class="body_sect">
832
                                    <xsl:text>Build Dependencies:</xsl:text>
833
                                </span>
834
								<p>
835
                                    <xsl:text>This package was built with the following "dpkg_archive" packages:</xsl:text>
836
                                </p>
837
							</td>
838
						</tr>
839
						<tr>
840
							<th width="1%">Dependency Name</th>
841
							<th width="100%">Version</th>
842
						</tr>
843
						<xsl:for-each select="/package_data/build/dependency">
844
							<xsl:sort select="upper-case(./@name)"/>
845
							<tr>
846
								<td>
847
									<xsl:value-of select="./@name"/>
848
								</td>
849
								<td>
850
									<xsl:call-template name="versionRef">
851
										<xsl:with-param name="pkg" select="./@name"/>
852
										<xsl:with-param name="version" select="./@version"/>
853
										<xsl:with-param name="pvid" select="./@pvid"/>
854
									</xsl:call-template>
855
								</td>
856
							</tr>
857
						</xsl:for-each>
858
					</tbody>
859
				</table>
860
 
861
				<!-- Run Time Dependencies -->
862
				<table class="tbl_border">
863
					<tbody>
864
						<tr>
865
							<td colspan="3" class="tbl_title">
866
								<span class="body_sect">
867
                                    <xsl:text>Runtime Dependencies:</xsl:text>
868
                                </span>
869
								<p>
870
                                    <xsl:text>This package requires the presence of the following packages on runtime to operate correctly:</xsl:text>
871
                                </p>
872
							</td>
873
						</tr>
874
						<tr>
875
							<th width="1%">Dependency Name</th>
876
							<th width="1%">Version</th>
4471 dpurdie 877
							<th>Comments</th>
4462 dpurdie 878
						</tr>
879
						<xsl:for-each select="/package_data/runtime/dependency">
880
							<xsl:sort select="upper-case(./@name)"/>
881
							<tr>
882
								<td>
883
									<xsl:value-of select="./@name"/>
884
								</td>
885
								<td>
886
									<xsl:call-template name="versionRef">
887
										<xsl:with-param name="pkg" select="./@name"/>
888
										<xsl:with-param name="version" select="./@version"/>
889
										<xsl:with-param name="pvid" select="./@pvid"/>
890
									</xsl:call-template>
891
								</td>
892
								<td>
893
									<xsl:value-of select="./@comment" disable-output-escaping="yes"/>
894
								</td>
895
							</tr>
896
						</xsl:for-each>
897
					</tbody>
898
				</table>
899
 
900
                <!-- Files and Folders -->
901
				<table class="tbl_border">
902
					<tbody>
903
						<tr>
904
							<td colspan="4" class="tbl_title">
905
								<span class="body_sect">Files:</span>
906
								<br/>
907
								<span class="wrap">
908
									<br/>
909
                                    <xsl:text>This release consists of the following files.</xsl:text>
910
								</span>
911
							</td>
912
						</tr>
913
						<tr>
914
							<th width="1%">File Path</th>
915
							<th>File Name</th>
916
							<th width="1%">Size (bytes)</th>
917
							<th width="1%">MD5 Digest</th>
918
						</tr>
919
						<xsl:for-each select="/package_data/files/file[@type != 'merge']">
920
							<xsl:sort select="./@path"/>
921
							<xsl:sort select="./@name"/>
922
							<tr>
923
								<td>
924
									<xsl:value-of select="./@path"/>
925
								</td>
926
								<td>
927
									<xsl:value-of select="./@name"/>
928
								</td>
929
								<td>
930
									<xsl:value-of select="./@size"/>
931
								</td>
932
								<td>
933
									<xsl:value-of select="./@md5sum"/>
934
								</td>
935
							</tr>
936
						</xsl:for-each>
937
					</tbody>
938
				</table>
939
 
940
				<!-- Unit Tests -->
941
				<table class="tbl_border">
942
					<tbody>
943
						<tr>
944
							<td colspan="4" class="tbl_title">
945
								<span class="body_sect">Unit Tests:</span>
946
							</td>
947
						</tr>
948
						<tr>
949
							<th width="1%">Test</th>
950
							<th width="100%">Test Summary</th>
951
							<th width="1%" align="center">Passed # / Total</th>
952
							<th width="1%">Test Completed</th>
953
						</tr>
954
						<xsl:for-each select="/package_data/unit_tests/test">
955
							<tr>
956
								<td>
957
									<xsl:value-of select="./@name"/>
958
								</td>
959
								<td class="wrap">
960
									<xsl:value-of select="./@test_summary" disable-output-escaping="yes"/>
961
								</td>
962
								<td>
963
									<xsl:value-of select="./@numof_test"/>
964
								</td>
965
								<td>
966
									<xsl:value-of select="./@completion_date"/>
967
								</td>
968
							</tr>
969
						</xsl:for-each>
970
					</tbody>
971
				</table>
972
 
973
				<!-- Additional Notes -->
974
				<table class="tbl_border">
975
					<tbody>
976
						<tr>
977
							<td class="body_sect tbl_title">Additional Notes:</td>
978
						</tr>
979
						<xsl:for-each select="/package_data/additional_notes/note">
980
                        <tr>
981
                            <td class="wrap">
982
                                <b>
983
                                    <xsl:value-of select="./@note_title"/>
984
                                </b>
985
                                <br/>
986
                                <xsl:value-of select="./@note_body" disable-output-escaping="yes"/>
987
                                <p class="body_txt_macro">
988
                                    <xsl:text>Last Modified: </xsl:text>
989
                                    <xsl:value-of select="./@mod_date"/>
990
                                    <xsl:text> by </xsl:text>
991
                                    <xsl:value-of select="./@full_name"/>
992
                                </p>
993
                            </td>
994
                        </tr>
995
						</xsl:for-each>
996
					</tbody>
997
				</table>
998
 
999
                <!-- Page Footer -->
1000
				<table class="tbl_noborder">
1001
					<tbody>
1002
						<tr>
1003
							<td colspan="3">
1004
								<hr size="1"/>
1005
							</td>
1006
						</tr>
1007
						<tr>
1008
							<td align="left" width="33%">
1009
                                Data Source: <xsl:value-of select="/package_data/meta/@created"/>
1010
							</td>
1011
							<td align="center" width="33%">
1012
                                Generated: <xsl:value-of select="current-dateTime()"/>
1013
							</td>
1014
							<td align="right" width="33%">
1015
								<xsl:text>VIX Confidental © VIX</xsl:text>
1016
							</td>
1017
						</tr>
1018
					</tbody>
1019
				</table>
1020
			</body>
1021
		</html>
1022
	</xsl:template>
1023
</xsl:stylesheet>