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" />
10
	<!-- Insert text and an hyperlinked email address -->
11
	<xsl:template name="mailUrl">
12
		<xsl:param name="text"/>
13
		<xsl:param name="email"/>
14
		<a class="txt_linked">
15
			<xsl:attribute name="href">
16
                <xsl:text>mailto:</xsl:text>
17
                <xsl:value-of select="$email"/>
18
                </xsl:attribute>
19
			<xsl:value-of select="$text"/>
20
		</a>
21
	</xsl:template>
22
 
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
 
61
 
62
	<!-- Keys to assist in the handling of ClearQuest and Jira Issues -->
63
    <xsl:key name="cqIssues" match="/package_data/issues/clearquest" use="@iss_uid" />
64
    <xsl:key name="jiraIssues" match="/package_data/issues/jira" use="@key" />
65
 
66
 
67
	<!-- =============================================================================================== -->
68
	<!--    Start of the main body of the transform -->
69
	<!-- =============================================================================================== -->
70
	<xsl:template match="/">
71
        <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;</xsl:text>
72
		<html>
73
			<head>
74
				<title>VIX Release Notes</title>
75
				<style type="text/css">
76
            .body_txt{color:#000000;font:11px tahoma,sans-serif;text-decoration:none;}
77
            .body_txt_gray{
78
                color: Gray;
79
                font: bold 11px tahoma,sans-serif;
80
                text-decoration:none;
81
            }
82
            .bold {font-weight:bold;}
83
            .hdr2 {background-color: rgb(207, 223, 204);}
84
            .body_txt_lrg{color:#000000;font: 14px tahoma bold,sans-serif;text-decoration:none;}
85
            .body_txt_small{color:#000000;font: 9px tahoma,sans-serif;text-decoration:none;}
86
            .body_txt_macro{color: #808080;font:9px tahoma,sans-serif;font-weight: normal;padding-right: 10px;text-decoration:none}
87
            .body_txt_pre{
88
                color:#000000;
89
                font: 12px "Courier New", Courier, monospace;
90
                text-decoration:none;
91
            }
92
            .pkg_removed .pkgType {
93
                color:red;
94
                font:11px tahoma,sans-serif;
95
                text-decoration: line-through;
96
            }
97
            .pkg_changed .pkgType {
98
                color:#000000;
99
                font: bold 11px tahoma,sans-serif;
100
                text-decoration:none;
101
            }
102
            .pkg_added .pkgType{
103
                color:green;
104
                font: bold 11px tahoma,sans-serif;
105
                text-decoration:none;
106
            }
107
            .body_sect{  font-family: Arial, sans-serif; font-size: 18px; color: Black; text-decoration: none; }
108
            .body_ttl {FONT-WEIGHT: bold; FONT-SIZE: 26px; COLOR: Black;  FONT-FAMILY: Arial, sans-serif; }
109
            .body_ttl_w {
110
                FONT-WEIGHT: bold;
111
                FONT-SIZE: 26px;
112
                COLOR: White;
113
                FONT-FAMILY: Arial, sans-serif;
114
                padding-left : 10px;
115
                padding-right : 10px;
116
                background-color: #002544;
117
            }
118
            .body_sttl { FONT-SIZE: 18; COLOR: #003366;  FONT-FAMILY: Arial, sans-serif; }
119
            .txt_linked {  font-family: tahoma,sans-serif; font-size: 11px; color: #0066FF; text-decoration: underline;  font : normal; }
120
            .form_item {  font-family: tahoma,sans-serif; font-size: 11px; color: Black; text-decoration: none;  font : normal normal; }
121
            th {
122
                color:#000000;
123
                font:11px tahoma,sans-serif;
124
                font-weight:bold;
125
                padding-right: 3px;
126
                text-decoration:none;
127
                background : #F5F5F5;
128
                padding-left : 3px;
129
                text-align : left;
130
                white-space: nowrap;
131
                vertical-align: top;
132
                }
133
            td {
134
                white-space: nowrap;
135
                vertical-align: top;
136
                color:#000000;
137
                font:11px tahoma,sans-serif;
138
                text-decoration:none;
139
            }
140
            .tbl_noborder {
141
                width: 100%;
142
                border-style:none;
143
                border-spacing:0px;
144
                margin-bottom: 1em;
145
                }
146
            .tbl_outer{
147
                width: 100%;
148
                border-top-width: 1px;
149
                border-right-width: 1px;
150
                border-bottom-width: 1px;
151
                border-left-width: 1px;
152
                border-spacing: 0px;
153
                border-color: gray;
154
                border-style: solid;
155
                }
156
            table.tbl_border {
157
                width: 100%;
158
                border-collapse: collapse;
159
                margin-bottom: 1em;
160
                }
161
             .tbl_border td,.tbl_border th {
162
                border: 1px solid gray;
163
                padding: 2px;
164
                border-width: 2px;
165
                }
166
             .wrap {
167
                white-space: normal;
168
             }
169
             .tbl_title{
170
                background : #E4E9EC;
171
             }
172
            </style>
173
			</head>
174
			<body>
175
                <!-- Page Title -->
176
				<table class="tbl_noborder">
177
					<tbody>
178
						<tr>
179
							<td align="right" class="body_ttl_w">RELEASE NOTES</td>
180
							<td align="left" class="body_ttl_w">VIX Technology</td>
181
						</tr>
182
					</tbody>
183
				</table>
184
 
185
                <!-- Package Name -->
186
				<table class="tbl_noborder">
187
					<tbody>
188
						<tr>
189
							<td align="center" class="body_sttl">
190
								<strong>
191
									<xsl:value-of select="/package_data/package/@name"/>
192
									<xsl:text>&#160;</xsl:text>
193
									<xsl:value-of select="/package_data/package/@version"/>
194
								</strong>
195
							</td>
196
						</tr>
197
					</tbody>
198
				</table>
199
 
200
                <!-- Package Identification -->
201
				<table class="tbl_border">
202
					<tbody>
203
						<tr>
204
							<td colspan="4" class="tbl_title">
205
								<span class="body_sect">
206
                                    <xsl:text>Identification:</xsl:text>
207
                                    </span>
208
								<p/>
209
                                <xsl:text>This release can be uniquely identified by:</xsl:text>
210
                            </td>
211
						</tr>
212
						<tr>
213
							<th width="1%">Name:</th>
214
							<td width="35%">
215
								<xsl:value-of select="/package_data/package/@name"/>
216
							</td>
217
							<th width="1%">Released:</th>
218
							<td>
219
								<xsl:value-of select="/package_data/package/@modified_stamp"/> by
220
                                <xsl:call-template name="mailUrl">
221
									<xsl:with-param name="text" select="/package_data/package/@modifier"/>
222
									<xsl:with-param name="email" select="/package_data/package/@modifier_email"/>
223
								</xsl:call-template>
224
							</td>
225
						</tr>
226
						<tr>
227
							<th width="1%">Version:</th>
228
							<td>
229
								<xsl:value-of select="/package_data/package/@version"/>
230
							</td>
231
							<th width="1%">Owner:</th>
232
							<td>
233
								<xsl:call-template name="mailUrl">
234
									<xsl:with-param name="text" select="/package_data/package/@owner"/>
235
									<xsl:with-param name="email" select="/package_data/package/@owner_email"/>
236
								</xsl:call-template>
237
							</td>
238
						</tr>
239
						<tr>
240
							<th width="1%">VCS Path:</th>
241
							<td width="35%" colspan="3" class="wrap">
242
								<xsl:value-of select="/package_data/package/@vcstag"/>
243
							</td>
244
						</tr>
245
					</tbody>
246
				</table>
247
 
248
                <!-- Package Information -->
249
				<table class="tbl_border">
250
					<tbody>
251
						<tr>
252
							<td colspan="2" class="tbl_title body_sect">Package Information:</td>
253
						</tr>
254
						<tr>
255
							<th width="1%">Short Description</th>
256
							<td width="100%" class="wrap">
257
								<xsl:value-of select="/package_data/package/@short_desc" disable-output-escaping="yes"/>
258
							</td>
259
						</tr>
260
						<tr>
261
							<th>Overview</th>
262
							<td class="wrap">
263
								<xsl:value-of select="/package_data/package/@long_desc" disable-output-escaping="yes"/>
264
							</td>
265
						</tr>
266
					</tbody>
267
				</table>
268
 
269
                <!-- Package Reason for Version -->
270
				<table class="tbl_border">
271
					<tbody>
272
						<tr>
273
							<td class="tbl_title body_sect">Reason For This Version:</td>
274
						</tr>
275
						<tr>
276
							<td class="wrap">
277
								<xsl:value-of select="/package_data/package/@reason" disable-output-escaping="yes"/>
278
								<br/>
279
								<xsl:text>Also see "Issues" section below.</xsl:text>
280
							</td>
281
						</tr>
282
					</tbody>
283
				</table>
284
 
285
				<!-- Issues within this package -->
286
				<table class="tbl_border">
287
					<tbody>
288
						<tr class="tbl_title">
289
							<td colspan="5">
290
 
291
								<span class="body_sect">Issues:</span>
292
								<p>
293
                                    <xsl:text>This package has the following issue status:</xsl:text>
294
                                </p>
295
                                </td>
296
						</tr>
297
						<tr>
298
							<th width="2%">Issue ID</th>
299
							<th width="1%">Issue DB</th>
300
							<th width="90%">Summary</th>
301
							<th width="1%">Issue Type</th>
302
							<th width="1%">Priority</th>
303
						</tr>
304
						<tr>
305
							<td colspan="5" class="tbl_title"/>
306
						</tr>
307
 
308
                        <!-- Fixed Jira Issues -->
309
						<tr>
310
							<td colspan="5" class="body_txt_lrg hdr2">
311
								<xsl:text>Fixed Jira Issues:</xsl:text> 
312
                            </td>
313
                        </tr>
314
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution = 'Fixed']">
315
                            <tr>
316
                                <td><xsl:value-of select="./@key"/></td>
317
                                <td><xsl:text>JIRA</xsl:text></td>
318
                                <td class="wrap"><xsl:value-of select="./@summary" disable-output-escaping="yes"/></td>
319
                                <td><xsl:value-of select="./@type"/></td>
320
                                <td><xsl:value-of select="./@priority"/></td>
321
                            </tr>
322
                        </xsl:for-each>
323
 
324
                        <!-- Fixed ClearQuest Issues -->
325
                        <tr>
326
                            <td colspan="5" class="body_txt_lrg hdr2">
327
                                <xsl:text>Fixed ClearQuest Issues:</xsl:text>
328
                            </td>
329
                        </tr>
330
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state = '1']">
331
                            <tr>
4468 dpurdie 332
                                <td><xsl:value-of select="./@iss_num"/></td>
4462 dpurdie 333
                                <td><xsl:text>DEVI:</xsl:text><xsl:value-of select="./@iss_db"/></td>
4468 dpurdie 334
                                <td class="wrap"><xsl:value-of select="./@summary"/></td>
335
                                <td><xsl:value-of select="./@issue_type"/></td>
336
                                <td><xsl:value-of select="./@priority"/></td>
4462 dpurdie 337
                            </tr>
338
                        </xsl:for-each>
339
						<tr>
340
							<td colspan="5" class="tbl_title"/>
341
						</tr>
342
 
343
                        <!-- Outstanding Jira Issues -->
344
						<tr>
345
							<td colspan="5" class="body_txt_lrg hdr2">
346
								<xsl:text>Outstanding Jira Issues:</xsl:text>
347
							</td>
348
						</tr>
349
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution != 'Fixed']">
350
                            <tr>
351
                                <td><xsl:value-of select="./@key"/></td>
352
                                <td><xsl:text>JIRA</xsl:text></td>
353
                                <td class="wrap"><xsl:value-of select="./@summary" disable-output-escaping="yes"/></td>
354
                                <td><xsl:value-of select="./@type"/></td>
355
                                <td><xsl:value-of select="./@priority"/></td>
356
                            </tr>
357
                        </xsl:for-each>
358
 
359
                        <!-- Outstanding ClearQuest Issues -->
360
						<tr>
361
							<td colspan="5" class="body_txt_lrg hdr2">
362
								<xsl:text>Outstanding ClearQuest Issues:</xsl:text>
363
							</td>
364
						</tr>
365
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state != '1']">
366
                            <tr>
4468 dpurdie 367
                                <td><xsl:value-of select="./@iss_num"/></td>
4462 dpurdie 368
                                <td><xsl:text>DEVI:</xsl:text><xsl:value-of select="./@iss_db"/></td>
4468 dpurdie 369
                                <td class="wrap"><xsl:value-of select="./@summary"/></td>
370
                                <td><xsl:value-of select="./@issue_type"/></td>
371
                                <td><xsl:value-of select="./@priority"/></td>
4462 dpurdie 372
                            </tr>
373
                        </xsl:for-each>
374
 
375
						<tr>
376
							<td colspan="5" class="tbl_title"/>
377
						</tr>
378
					</tbody>
379
				</table>
380
 
381
				<!-- Deployed package extended issue list -->
382
				<table class="tbl_border">
383
					<tbody>
384
						<tr class="tbl_title">
385
							<td colspan="6">
386
								<span class="body_sect">
387
                                    <xsl:text>Issues:</xsl:text>
388
                                    </span>
389
                                    <p>
390
                                    <xsl:text>This release has the following issue status:</xsl:text>
391
                                    </p>
392
							</td>
393
						</tr>
394
						<xsl:for-each select="/package_data/build/dependency">
395
							<xsl:sort select="upper-case(./@name)"/>
396
							<tr>
397
								<td colspan="6" class="tbl_title"/>
398
							</tr>
399
							<tr>
400
								<td colspan="6">
401
									<span class="body_txt_lrg">
402
                                        <xsl:value-of select="./@name"/>&#160;<xsl:value-of select="./@version"/>
403
									</span>
404
									<br/>
405
									<xsl:value-of select="./@reason" disable-output-escaping="yes"/>
406
								</td>
407
							</tr>
408
 
409
                            <!-- Fixed Issues Jira and ClearCase : Commonn Header -->
410
                            <xsl:if test="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed'] or key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
411
                                <tr>
412
                                  <th width="2%">Fixed</th>
413
                                  <th width="2%">Issue ID</th>
414
                                  <th width="1%">Issue DB</th>
415
                                  <th width="90%">Summary</th>
416
                                  <th width="1%">Issue Type</th>
417
                                  <th width="1%">Priority</th>
418
                                </tr>
419
 
420
                                <!-- Fixed Jira Issues -->
421
                                <xsl:for-each select="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed']">
422
                                    <tr>
423
                                        <td><xsl:value-of select="./@resolution"/></td>
424
                                        <td><xsl:value-of select="./@key"/></td>
425
                                        <td><xsl:text>JIRA</xsl:text></td>
426
                                        <td class="wrap"><xsl:value-of select="./@summary" disable-output-escaping="yes"/></td>
427
                                        <td><xsl:value-of select="./@type"/></td>
428
                                        <td><xsl:value-of select="./@priority"/></td>
429
                                    </tr>
430
                                </xsl:for-each>
431
 
432
                                <!-- Fixed ClearQuest Issues -->
433
                                <xsl:for-each select="key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
434
                                    <tr>
435
                                        <td><xsl:value-of select="./@iss_state"/></td>
4468 dpurdie 436
                                        <td><xsl:value-of select="./@iss_num"/></td>
4462 dpurdie 437
                                        <td><xsl:text>DEVI:</xsl:text><xsl:value-of select="./@iss_db"/></td>
4468 dpurdie 438
                                        <td class="wrap"><xsl:value-of select="./@summary"/></td>
439
                                        <td><xsl:value-of select="./@issue_type"/></td>
440
                                        <td><xsl:value-of select="./@priority"/></td>
4462 dpurdie 441
                                    </tr>
442
                                </xsl:for-each>
443
                            </xsl:if>
444
						</xsl:for-each>
445
					</tbody>
446
				</table>
447
 
448
				<!-- Deployed package: Changes since last version -->
449
				<table class="tbl_border">
450
					<tbody>
451
						<tr>
452
							<td colspan="5" class="tbl_title">
453
								<span class="body_sect">Changes Since Last Version:</span>
454
								<br/>
455
								<xsl:text>This represents the build dependency differences between </xsl:text>
456
								<xsl:value-of select="//package_data/package/@name"/>&#160;<xsl:value-of select="//package_data/package/@version"/>
457
								<xsl:text> and </xsl:text>
458
								<xsl:call-template name="versionRef">
459
									<xsl:with-param name="pkg" select="//package_data/package/previous/@name"/>
460
									<xsl:with-param name="version" select="//package_data/package/previous/@version"/>
461
									<xsl:with-param name="pvid" select="//package_data/package/previous/@pvid"/>
462
								</xsl:call-template>
463
							</td>
464
						</tr>
465
						<tr>
466
							<th width="1%">Status</th>
467
							<th width="1%">Dependency Name</th>
468
							<th width="1%">Current Version</th>
469
							<th width="1%">Previous Version</th>
470
							<th width="100%">Last Owner</th>
471
						</tr>
472
						<xsl:for-each select="/package_data/builddep/dependencydiff">
473
							<xsl:sort select="upper-case(./@name)"/>
474
							<tr>
475
								<xsl:call-template name="changeClass">
476
									<xsl:with-param name="style" select="./@status"/>
477
								</xsl:call-template>
478
								<td class="body_txt_gray pkgType">
479
									<xsl:value-of select="./@status"/>
480
								</td>
481
								<td class="pkgType">
482
									<xsl:value-of select="./@name"/>
483
								</td>
484
								<td>
485
									<xsl:call-template name="versionRef">
486
										<xsl:with-param name="pkg" select="./@name"/>
487
										<xsl:with-param name="version" select="./@version"/>
488
										<xsl:with-param name="pvid" select="./@pvid"/>
489
									</xsl:call-template>
490
								</td>
491
								<td>
492
									<xsl:call-template name="versionRef">
493
										<xsl:with-param name="pkg" select="./@name"/>
494
										<xsl:with-param name="version" select="./@previous_version"/>
495
										<xsl:with-param name="pvid" select="./@previous_pvid"/>
496
									</xsl:call-template>
497
								</td>
498
								<td>
499
									<xsl:call-template name="mailUrl">
500
										<xsl:with-param name="text" select="./@modifier"/>
501
										<xsl:with-param name="email" select="./@modifier_email"/>
502
									</xsl:call-template>
503
								</td>
504
							</tr>
505
						</xsl:for-each>
506
					</tbody>
507
				</table>
508
 
509
                <!-- Build Dependencies -->
510
				<table class="tbl_border">
511
					<tbody>
512
						<tr>
513
							<td colspan="2" class="tbl_title">
514
								<span class="body_sect">
515
                                    <xsl:text>Build Dependencies:</xsl:text>
516
                                </span>
517
								<p>
518
                                    <xsl:text>This package was built with the following "dpkg_archive" packages:</xsl:text>
519
                                </p>
520
							</td>
521
						</tr>
522
						<tr>
523
							<th width="1%">Dependency Name</th>
524
							<th width="100%">Version</th>
525
						</tr>
526
						<xsl:for-each select="/package_data/build/dependency">
527
							<xsl:sort select="upper-case(./@name)"/>
528
							<tr>
529
								<td>
530
									<xsl:value-of select="./@name"/>
531
								</td>
532
								<td>
533
									<xsl:call-template name="versionRef">
534
										<xsl:with-param name="pkg" select="./@name"/>
535
										<xsl:with-param name="version" select="./@version"/>
536
										<xsl:with-param name="pvid" select="./@pvid"/>
537
									</xsl:call-template>
538
								</td>
539
							</tr>
540
						</xsl:for-each>
541
					</tbody>
542
				</table>
543
 
544
				<!-- Run Time Dependencies -->
545
				<table class="tbl_border">
546
					<tbody>
547
						<tr>
548
							<td colspan="3" class="tbl_title">
549
								<span class="body_sect">
550
                                    <xsl:text>Runtime Dependencies:</xsl:text>
551
                                </span>
552
								<p>
553
                                    <xsl:text>This package requires the presence of the following packages on runtime to operate correctly:</xsl:text>
554
                                </p>
555
							</td>
556
						</tr>
557
						<tr>
558
							<th width="1%">Dependency Name</th>
559
							<th width="1%">Version</th>
560
							<th width="100%">Comments</th>
561
						</tr>
562
						<xsl:for-each select="/package_data/runtime/dependency">
563
							<xsl:sort select="upper-case(./@name)"/>
564
							<tr>
565
								<td>
566
									<xsl:value-of select="./@name"/>
567
								</td>
568
								<td>
569
									<xsl:call-template name="versionRef">
570
										<xsl:with-param name="pkg" select="./@name"/>
571
										<xsl:with-param name="version" select="./@version"/>
572
										<xsl:with-param name="pvid" select="./@pvid"/>
573
									</xsl:call-template>
574
								</td>
575
								<td>
576
									<xsl:value-of select="./@comment" disable-output-escaping="yes"/>
577
								</td>
578
							</tr>
579
						</xsl:for-each>
580
						<tr>
581
							<td>&#160;</td>
582
							<td>&#160;</td>
583
							<td>&#160;</td>
584
						</tr>
585
					</tbody>
586
				</table>
587
 
588
                <!-- Files and Folders -->
589
				<table class="tbl_border">
590
					<tbody>
591
						<tr>
592
							<td colspan="4" class="tbl_title">
593
								<span class="body_sect">Files:</span>
594
								<br/>
595
								<span class="wrap">
596
									<br/>
597
                                    <xsl:text>This release consists of the following files.</xsl:text>
598
								</span>
599
							</td>
600
						</tr>
601
						<tr>
602
							<th width="1%">File Path</th>
603
							<th>File Name</th>
604
							<th width="1%">Size (bytes)</th>
605
							<th width="1%">MD5 Digest</th>
606
						</tr>
607
						<xsl:for-each select="/package_data/files/file[@type != 'merge']">
608
							<xsl:sort select="./@path"/>
609
							<xsl:sort select="./@name"/>
610
							<tr>
611
								<td>
612
									<xsl:value-of select="./@path"/>
613
								</td>
614
								<td>
615
									<xsl:value-of select="./@name"/>
616
								</td>
617
								<td>
618
									<xsl:value-of select="./@size"/>
619
								</td>
620
								<td>
621
									<xsl:value-of select="./@md5sum"/>
622
								</td>
623
							</tr>
624
						</xsl:for-each>
625
					</tbody>
626
				</table>
627
 
628
				<!-- Unit Tests -->
629
				<table class="tbl_border">
630
					<tbody>
631
						<tr>
632
							<td colspan="4" class="tbl_title">
633
								<span class="body_sect">Unit Tests:</span>
634
							</td>
635
						</tr>
636
						<tr>
637
							<th width="1%">Test</th>
638
							<th width="100%">Test Summary</th>
639
							<th width="1%" align="center">Passed # / Total</th>
640
							<th width="1%">Test Completed</th>
641
						</tr>
642
						<xsl:for-each select="/package_data/unit_tests/test">
643
							<tr>
644
								<td>
645
									<xsl:value-of select="./@name"/>
646
								</td>
647
								<td class="wrap">
648
									<xsl:value-of select="./@test_summary" disable-output-escaping="yes"/>
649
								</td>
650
								<td>
651
									<xsl:value-of select="./@numof_test"/>
652
								</td>
653
								<td>
654
									<xsl:value-of select="./@completion_date"/>
655
								</td>
656
							</tr>
657
						</xsl:for-each>
658
						<tr>
659
							<td>&#160;</td>
660
							<td>&#160;</td>
661
							<td>&#160;</td>
662
							<td>&#160;</td>
663
						</tr>
664
					</tbody>
665
				</table>
666
 
667
				<!-- Additional Notes -->
668
				<table class="tbl_border">
669
					<tbody>
670
						<tr>
671
							<td class="body_sect tbl_title">Additional Notes:</td>
672
						</tr>
673
						<xsl:for-each select="/package_data/additional_notes/note">
674
                        <tr>
675
                            <td class="wrap">
676
                                <b>
677
                                    <xsl:value-of select="./@note_title"/>
678
                                </b>
679
                                <br/>
680
                                <xsl:value-of select="./@note_body" disable-output-escaping="yes"/>
681
                                <p class="body_txt_macro">
682
                                    <xsl:text>Last Modified: </xsl:text>
683
                                    <xsl:value-of select="./@mod_date"/>
684
                                    <xsl:text> by </xsl:text>
685
                                    <xsl:value-of select="./@full_name"/>
686
                                </p>
687
                            </td>
688
                        </tr>
689
						</xsl:for-each>
690
						<tr>
691
							<td>&#160;</td>
692
						</tr>
693
					</tbody>
694
				</table>
695
 
696
                <!-- Page Footer -->
697
				<table class="tbl_noborder">
698
					<tbody>
699
						<tr>
700
							<td colspan="3">
701
								<hr size="1"/>
702
							</td>
703
						</tr>
704
						<tr>
705
							<td align="left" width="33%">
706
                                Data Source: <xsl:value-of select="/package_data/meta/@created"/>
707
							</td>
708
							<td align="center" width="33%">
709
                                Generated: <xsl:value-of select="current-dateTime()"/>
710
							</td>
711
							<td align="right" width="33%">
712
								<xsl:text>VIX Confidental © VIX</xsl:text>
713
							</td>
714
						</tr>
715
					</tbody>
716
				</table>
717
			</body>
718
		</html>
719
	</xsl:template>
720
</xsl:stylesheet>