Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<!--
    This XSLT Stylesheet processes releaseNote XML file and generates an HTML output

    Note:
    “&#160;” is a replacement of “&nbsp;
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="html" encoding="UTF-8" indent="yes" />

        <!-- Insert text and an hyperlinked email address -->
        <xsl:template name="mailUrl">
                <xsl:param name="text"/>
                <xsl:param name="email"/>
                <a class="txt_linked">
                        <xsl:attribute name="href">
                <xsl:text>mailto:</xsl:text>
                <xsl:value-of select="$email"/>
                </xsl:attribute>
                        <xsl:value-of select="$text"/>
                </a>
        </xsl:template>

        <!-- Insert version Number and an hyperlinked ref to Package release note -->
        <xsl:variable name="vrTemplate" select="'../../../PKGNAME/VERSION/doc/RELEASE_NOTES_PVID_PKGNAME_CLEANV.html'"/>
        <xsl:template name="versionRef">
                <xsl:param name="pkg"/>
                <xsl:param name="version"/>
                <xsl:param name="pvid"/>
                <a class="txt_linked">
                        <xsl:variable name="r1" select="replace($vrTemplate,'PKGNAME',$pkg)"/>
                        <xsl:variable name="r2" select="replace($r1,'VERSION',$version)"/>
                        <xsl:variable name="r3" select="replace($r2,'PVID',$pvid)"/>
                        <xsl:variable name="r4" select="replace($r3,'CLEANV',translate($version,'.','_'))"/>
                        <xsl:attribute name="href"><xsl:value-of select="$r4"/></xsl:attribute>
                        <xsl:value-of select="$version"/>
                </a>
        </xsl:template>

        <!-- Insert class attribute based on type -->
        <xsl:template name="changeClass">
                <xsl:param name="style"/>
                <xsl:attribute name="class">
            <xsl:choose>
                <xsl:when test="$style = 'deleted'">
                    <xsl:value-of select="'pkg_removed'"/>
                    </xsl:when>
                <xsl:when test="$style = 'added'">
                    <xsl:value-of select="'pkg_added'"/>
                </xsl:when>
                <xsl:when test="$style = 'modified'">
                    <xsl:value-of select="'pkg_changed'"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="'body_txt'"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute>
        </xsl:template>

    <!-- Insert Body of a Jira Issue -->
    <xsl:template name="jiraIssue">
        <xsl:param name="mode"/>
        <xsl:param name="prefix"/>
        <xsl:param name="pkg"/>

        <xsl:if test="$mode = 'full'">
            <td><xsl:value-of select="./@resolution"/></td>
        </xsl:if>
        <td><a>
                <xsl:attribute name="href">
                    <xsl:text>javascript:;</xsl:text>
                </xsl:attribute>
                <xsl:attribute name="onclick">
                    <xsl:text>toggleId('</xsl:text>
                    <xsl:value-of select="string-join(($prefix,$pkg,./@key),'_')"/>
                    <xsl:text>');</xsl:text>
                </xsl:attribute>
            <xsl:value-of select="./@key"/>
            </a>
        </td>
        <td><xsl:text>JIRA</xsl:text></td>
        <td class="wrap"><xsl:value-of select="./@summary" disable-output-escaping="yes"/>
             <div style="display: none;">
                 <xsl:attribute name="id">
                     <xsl:value-of select="string-join(($prefix,$pkg,./@key),'_')"/>
                 </xsl:attribute>
             <table class="tbl_inner">
                 <tr><td>
             <table class="tbl_inner border_thin">
                 <tr>
                     <td><strong>Properties</strong></td>
                     <td></td>
                     <td></td>
                     <td></td>
                 </tr>

                 <tr> 
                   <td class="right">Issue Type</td>
                   <td><select name="group_id" class="form_item" disabled="1">
                       <option selected="1"><xsl:value-of select="./@type"/></option>
                     </select></td>
                   <td class="right">Submitter</td>
                   <td><select name="select" class="form_item" disabled="1">
                       <option selected="1"><xsl:value-of select="./@reporter"/></option>
                     </select>
                   </td>
                 </tr>

                 <tr>
                 <td class="right">Detected in Version</td>
                 <td><select name="group_id" class="form_item" disabled="1">
                     <option selected="1"></option>
                   </select></td>
                 <td class="right">Submited on Date</td>
                 <td><select name="select" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="./@created"/></option>
                   </select>
                 </td>
               </tr>

               <tr> 
                 <td class="right">Project</td>
                 <td><select name="group_id" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="./@project"/></option>
                   </select></td>
                 <td class="right">Assignee</td>
                 <td><select name="select" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="./@assignee"/></option>
                   </select>
                 </td>
               </tr>

               <tr> 
                 <td class="right">Components</td>
                 <td><select name="group_id" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="string-join((./category),',')"/></option>
                   </select></td>
               </tr>

               <tr> 
                 <td class="right">Priority</td>
                 <td><select name="group_id" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="./@priority"/></option>
                   </select></td>
               </tr>

               <tr> 
                 <td class="right">Status</td>
                 <td><select name="group_id" class="form_item" disabled="1">
                     <option selected="1"><xsl:value-of select="./@status"/></option>
                   </select></td>
                   <td class="right">Resolution Date</td>
                   <td><select name="select" class="form_item" disabled="1">
                       <option selected="1"><xsl:value-of select="./@resolutiondate"/></option>
                     </select>
                   </td>
               </tr>

             </table>
             </td>
             </tr>

             <tr>
                 <td>
                     <table class="tbl_inner border_thin">
                       <tr>
                         <td class="wrap"><strong>Description</strong>
                         <br/>
                         <xsl:value-of select="./@description" disable-output-escaping="yes"/>
                         </td>
                       </tr>
                     </table>
                 </td>
             </tr>
             </table>
             </div>

        </td>
        <td><xsl:value-of select="./@type"/></td>
        <td><xsl:value-of select="./@priority"/></td>
    </xsl:template>

    <!-- Insert Body of a ClearQuest Issue -->
    <xsl:template name="clearQuestIssue">
        <xsl:param name="mode"/>
        <xsl:param name="prefix"/>
        <xsl:param name="pkg"/>

        <xsl:if test="$mode = 'full'">
            <td><xsl:value-of select="./@iss_state"/></td>
        </xsl:if>

        <td><a>
                <xsl:attribute name="href">
                    <xsl:text>javascript:;</xsl:text>
                </xsl:attribute>
                <xsl:attribute name="onclick">
                    <xsl:text>toggleId('</xsl:text>
                    <xsl:value-of select="string-join(($pkg,$prefix,./@iss_uid),'_')"/>
                    <xsl:text>');</xsl:text>
                </xsl:attribute>
            <xsl:value-of select="./@iss_num"/>
            </a>
        </td>
        <td><xsl:text>DEVI:</xsl:text><xsl:value-of select="./@iss_db"/></td>
        <td class="wrap">
            <xsl:value-of select="./@summary"/>
        <div style="display: none;">
            <xsl:attribute name="id">
                <xsl:value-of select="string-join(($pkg,$prefix,./@iss_uid),'_')"/>
            </xsl:attribute>
        <table class="tbl_inner">
            <tr><td>
        <table class="tbl_inner border_thin">
            <tr>
                <td><strong>Properties</strong></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>

            <tr> 
              <td class="right">Issue Type</td>
              <td><select name="group_id" class="form_item" disabled="1">
                  <option selected="1"><xsl:value-of select="./@issue_type"/></option>
                </select></td>
              <td class="right">Submitter</td>
              <td><select name="select" class="form_item" disabled="1">
                  <option selected="1"><xsl:value-of select="./@submitter"/></option>
                </select>
              </td>
            </tr>

            <tr>
            <td class="right">Detected in Version</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="string-join((./@release_part1,./@release_part2,./@release_part3),'.')"/></option>
              </select></td>
            <td class="right">Submited on Date</td>
            <td><select name="select" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@submit_date"/></option>
              </select>
            </td>
          </tr>

          <tr> 
            <td class="right">Project</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@project"/></option>
              </select></td>
            <td class="right">Owner</td>
            <td><select name="select" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@owner"/></option>
              </select>
            </td>
          </tr>

          <tr> 
            <td class="right">Product</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@product"/></option>
              </select></td>
            <td class="right">Approver</td>
            <td><select name="select" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@approver"/></option>
              </select>
            </td>
          </tr>

          <tr> 
            <td class="right">Package</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@package_ref"/></option>
              </select></td>
          </tr>

          <tr> 
            <td class="right">Priority</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@priority"/></option>
              </select></td>
          </tr>

          <tr> 
            <td class="right">Status</td>
            <td><select name="group_id" class="form_item" disabled="1">
                <option selected="1"><xsl:value-of select="./@status"/></option>
              </select></td>
          </tr>

        </table>
        </td>
        </tr>

        <tr>
            <td>
                <table class="tbl_inner border_thin">
                  <tr>
                    <td class="wrap"><strong>Description</strong>
                    <br/>
                    <xsl:value-of select="./@description" disable-output-escaping="yes"/>
                    </td>
                  </tr>
                </table>
            </td>
        </tr>

        <tr>
            <td>
                <table class="tbl_inner border_thin">
                  <tr>
                    <td class="wrap"><strong>Notes Log</strong>
                    <br/>
                    <xsl:value-of select="./@notes_log" disable-output-escaping="yes"/>
                    </td>
                  </tr>
                </table>
            </td>
        </tr>
        </table>
        </div>
        </td>
        <td><xsl:value-of select="./@issue_type"/></td>
        <td><xsl:value-of select="./@priority"/></td>

    </xsl:template>

        <!-- Keys to assist in the handling of ClearQuest and Jira Issues -->
    <xsl:key name="cqIssues" match="/package_data/issues/clearquest" use="@iss_uid" />
    <xsl:key name="jiraIssues" match="/package_data/issues/jira" use="@key" />

        
        <!-- =============================================================================================== -->
        <!--    Start of the main body of the transform -->
        <!-- =============================================================================================== -->
        <xsl:template match="/">
        <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;</xsl:text>
                <html>
                        <head>
                                <title>VIX Release Notes</title>
                                <style type="text/css">
            .body_txt{color:#000000;font:11px tahoma,sans-serif;text-decoration:none;}
            .body_txt_gray{
                color: Gray;
                font: bold 11px tahoma,sans-serif;
                text-decoration:none;
            }
            .bold {font-weight:bold;}
            .hdr2 {background-color: rgb(207, 223, 204);}
            .body_txt_lrg{color:#000000;font: 14px tahoma,sans-serif;font-weight: bold;text-decoration:none;}
            .body_txt_small{color:#000000;font: 9px tahoma,sans-serif;text-decoration:none;}
            .body_txt_macro{color: #808080;font:9px tahoma,sans-serif;font-weight: normal;padding-right: 10px;text-decoration:none}
            .body_txt_pre{
                color:#000000;
                font: 12px "Courier New", Courier, monospace;
                text-decoration:none;
            }
            .pkg_removed .pkgType {
                color:red;
                font:11px tahoma,sans-serif;
                text-decoration: line-through;
            }
            .pkg_changed .pkgType {
                color:#000000;
                font: bold 11px tahoma,sans-serif;
                text-decoration:none;
            }
            .pkg_added .pkgType{
                color:green;
                font: bold 11px tahoma,sans-serif;
                text-decoration:none;
            }
            .body_sect{  font-family: Arial, sans-serif; font-size: 18px; color: Black; text-decoration: none; }
            .body_ttl {FONT-WEIGHT: bold; FONT-SIZE: 26px; COLOR: Black;  FONT-FAMILY: Arial, sans-serif; }
            .body_ttl_w {
                FONT-WEIGHT: bold;
                FONT-SIZE: 26px;
                COLOR: White;
                FONT-FAMILY: Arial, sans-serif;
                padding-left : 10px;
                padding-right : 10px;
                background-color: #002544;
            }
            .body_sttl { FONT-SIZE: 18; COLOR: #003366;  FONT-FAMILY: Arial, sans-serif; }
            .txt_linked {  font-family: tahoma,sans-serif; font-size: 11px; color: #0066FF; text-decoration: underline;  font : normal; }
            .form_item {  font-family: tahoma,sans-serif; font-size: 11px; color: Black; text-decoration: none; width:15em; }
            th {
                color:#000000;
                font:11px tahoma,sans-serif;
                font-weight:bold;
                padding-right: 3px;
                text-decoration:none;
                background : #F5F5F5;
                padding-left : 3px;
                text-align : left;
                white-space: nowrap;
                vertical-align: top;
                }
            td {
                white-space: nowrap;
                vertical-align: top;
                color:#000000;
                font:11px tahoma,sans-serif;
                text-decoration:none;
            }
            .tbl_noborder {
                width: 100%;
                border-style:none;
                border-spacing:0px;
                margin-bottom: 1em;
                }
            .tbl_inner {
                width: 100%;
                border-style:none;
                border-spacing:0px;
                }
            .tbl_outer{
                width: 100%;
                border-top-width: 1px;
                border-right-width: 1px;
                border-bottom-width: 1px;
                border-left-width: 1px;
                border-spacing: 0px;
                border-color: gray;
                border-style: solid;
                }
            table.tbl_border {
                width: 100%;
                border-collapse: collapse;
                margin-bottom: 1em;
                }
             .tbl_border td,.tbl_border th {
                border: 1px solid gray;
                padding: 2px;
                border-width: 2px;
                }
             .tbl_inner td,.tbl_inner th {
                border: none;
                padding: 2px;
                border-width: 2px;
                }

             .wrap {
                white-space: normal;
             }
             .tbl_title{
                background : #E4E9EC;
             }
             .right {
                text-align:right;
             }
             .border_thin {
                border: 1px solid gray;
                padding: 2px;
             }
            </style>
            <script language="JavaScript" type="text/javascript">
                <![CDATA[
                function MM_findObj(n, d) { //v4.0
                  var p,i,x;  
                  if(!d) d=document; 
                  if((p=n.indexOf("?"))>0&&parent.frames.length) {
                        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
                  }
                  if(!(x=d[n])&&d.all) x=d.all[n]; 
                  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
                  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
                  if(!x && document.getElementById) x=document.getElementById(n); 
                  return x;
                }

                function toggleId() {
                        var i, args, row_name, e;
                        
                        args=toggleId.arguments;
                        
                        for (i=0; i<(args.length); i+=1) { 
                                row_name=args[i]; 
                                e = MM_findObj(row_name);
                        if(e) {
                            if(e.style.display == 'none')
                                e.style.display = 'block';
                            else
                                e.style.display = 'none';
                       }
                        }
                }
                ]]>
                </script>
                        </head>
                        <body>
                <!-- Page Title -->
                                <table class="tbl_noborder">
                                        <tbody>
                                                <tr>
                                                        <td align="right" class="body_ttl_w">RELEASE NOTES</td>
                                                        <td align="left" class="body_ttl_w">VIX Technology</td>
                                                </tr>
                                        </tbody>
                                </table>

                <!-- Package Name -->
                                <table class="tbl_noborder">
                                        <tbody>
                                                <tr>
                                                        <td align="center" class="body_sttl">
                                                                <strong>
                                                                        <xsl:value-of select="/package_data/package/@name"/>
                                                                        <xsl:text>&#160;</xsl:text>
                                                                        <xsl:value-of select="/package_data/package/@version"/>
                                                                </strong>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>

                <!-- Package Identification -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="4" class="tbl_title">
                                                                <span class="body_sect">
                                    <xsl:text>Identification:</xsl:text>
                                    </span>
                                                                <p/>
                                <xsl:text>This release can be uniquely identified by:</xsl:text>
                            </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Name:</th>
                                                        <td width="35%">
                                                                <xsl:value-of select="/package_data/package/@name"/>
                                                        </td>
                                                        <th width="1%">Released:</th>
                                                        <td>
                                                                <xsl:value-of select="/package_data/package/@modified_stamp"/> by
                                <xsl:call-template name="mailUrl">
                                                                        <xsl:with-param name="text" select="/package_data/package/@modifier"/>
                                                                        <xsl:with-param name="email" select="/package_data/package/@modifier_email"/>
                                                                </xsl:call-template>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Version:</th>
                                                        <td>
                                                                <xsl:value-of select="/package_data/package/@version"/>
                                                        </td>
                                                        <th width="1%">Owner:</th>
                                                        <td>
                                                                <xsl:call-template name="mailUrl">
                                                                        <xsl:with-param name="text" select="/package_data/package/@owner"/>
                                                                        <xsl:with-param name="email" select="/package_data/package/@owner_email"/>
                                                                </xsl:call-template>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">VCS Path:</th>
                                                        <td width="35%" colspan="3" class="wrap">
                                                                <xsl:value-of select="/package_data/package/@vcstag"/>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>

                <!-- Package Information -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="2" class="tbl_title body_sect">Package Information:</td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Short Description</th>
                                                        <td width="100%" class="wrap">
                                                                <xsl:value-of select="/package_data/package/@short_desc" disable-output-escaping="yes"/>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th>Overview</th>
                                                        <td class="wrap">
                                                                <xsl:value-of select="/package_data/package/@long_desc" disable-output-escaping="yes"/>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>
                                
                <!-- Package Reason for Version -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td class="tbl_title body_sect">Reason For This Version:</td>
                                                </tr>
                                                <tr>
                                                        <td class="wrap">
                                                                <xsl:value-of select="/package_data/package/@reason" disable-output-escaping="yes"/>
                                                                <br/>
                                                                <xsl:text>Also see "Issues" section below.</xsl:text>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>

                                <!-- Issues within this package -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr class="tbl_title">
                                                        <td colspan="5">
                                
                                                                <span class="body_sect">Issues:</span>
                                                                <p>
                                    <xsl:text>This package has the following issue status:</xsl:text>
                                </p>
                                </td>
                                                </tr>
                                                <tr>
                                                        <th width="2%">Issue ID</th>
                                                        <th width="1%">Issue DB</th>
                                                        <th width="90%">Summary</th>
                                                        <th width="1%">Issue Type</th>
                                                        <th width="1%">Priority</th>
                                                </tr>
                                                <tr>
                                                        <td colspan="5" class="tbl_title"/>
                                                </tr>

                        <!-- Fixed Jira Issues -->
                                                <tr>
                                                        <td colspan="5" class="body_txt_lrg hdr2">
                                                                <xsl:text>Fixed Jira Issues:</xsl:text> 
                            </td>
                        </tr>
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution = 'Fixed']">
                            <tr>
                                                                <xsl:call-template name="jiraIssue">
                                                                        <xsl:with-param name="mode" select="'short'"/>
                                                                        <xsl:with-param name="prefix" select="'J1'"/>
                                                                        <xsl:with-param name="pkg" select="/package_data/package/@pname"/>
                                </xsl:call-template>
                            </tr>
                        </xsl:for-each>

                        <!-- Fixed ClearQuest Issues -->
                        <tr>
                            <td colspan="5" class="body_txt_lrg hdr2">
                                <xsl:text>Fixed ClearQuest Issues:</xsl:text>
                            </td>
                        </tr>
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state = '1']">
                            <tr>
                                                                <xsl:call-template name="clearQuestIssue">
                                                                        <xsl:with-param name="mode" select="'short'"/>
                                                                        <xsl:with-param name="prefix" select="'C1'"/>
                                                                        <xsl:with-param name="pkg" select="/package_data/package/@pname"/>
                                </xsl:call-template>
                            </tr>
                        </xsl:for-each>
                                                <tr>
                                                        <td colspan="5" class="tbl_title"/>
                                                </tr>

                        <!-- Outstanding Jira Issues -->
                                                <tr>
                                                        <td colspan="5" class="body_txt_lrg hdr2">
                                                                <xsl:text>Outstanding Jira Issues:</xsl:text>
                                                        </td>
                                                </tr>
                        <xsl:for-each select="key('jiraIssues', /package_data/package/issues/jira)[@resolution != 'Fixed']">
                            <tr>
                                                                <xsl:call-template name="jiraIssue">
                                                                        <xsl:with-param name="mode" select="'short'"/>
                                                                        <xsl:with-param name="prefix" select="'J2'"/>
                                                                        <xsl:with-param name="pkg" select="/package_data/package/@pname"/>
                                </xsl:call-template>
                            </tr>
                        </xsl:for-each>

                        <!-- Outstanding ClearQuest Issues -->
                                                <tr>
                                                        <td colspan="5" class="body_txt_lrg hdr2">
                                                                <xsl:text>Outstanding ClearQuest Issues:</xsl:text>
                                                        </td>
                                                </tr>
                        <xsl:for-each select="key('cqIssues', /package_data/package/issues/clearquest)[@iss_state != '1']">
                            <tr>
                                                                <xsl:call-template name="clearQuestIssue">
                                                                        <xsl:with-param name="mode" select="'short'"/>
                                                                        <xsl:with-param name="prefix" select="'C2'"/>
                                                                        <xsl:with-param name="pkg" select="/package_data/package/@pname"/>
                                </xsl:call-template>
                            </tr>
                        </xsl:for-each>

                                                <tr>
                                                        <td colspan="5" class="tbl_title"/>
                                                </tr>
                                        </tbody>
                                </table>

                                <!-- Deployed package extended issue list -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr class="tbl_title">
                                                        <td colspan="6">
                                                                <span class="body_sect">
                                    <xsl:text>Issues:</xsl:text>
                                    </span>
                                    <p>
                                    <xsl:text>This release has the following issue status:</xsl:text>
                                    </p>
                                                        </td>
                                                </tr>
                                                <xsl:for-each select="/package_data/build/dependency">
                                                        <xsl:sort select="upper-case(./@name)"/>
                            <xsl:variable name="dpkg" select="./@pname"/>
                                                        <tr>
                                                                <td colspan="6" class="tbl_title"/>
                                                        </tr>
                                                        <tr>
                                                                <td colspan="6">
                                                                        <span class="body_txt_lrg">
                                        <xsl:value-of select="./@name"/>&#160;<xsl:value-of select="./@version"/>
                                                                        </span>
                                                                        <br/>
                                                                        <xsl:value-of select="./@reason" disable-output-escaping="yes"/>
                                                                </td>
                                                        </tr>
                           
                            <!-- Fixed Issues Jira and ClearCase : Common Header -->
                            <xsl:if test="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed'] or key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
                                <tr>
                                  <th width="2%">Fixed</th>
                                  <th width="2%">Issue ID</th>
                                  <th width="1%">Issue DB</th>
                                  <th width="90%">Summary</th>
                                  <th width="1%">Issue Type</th>
                                  <th width="1%">Priority</th>
                                </tr>

                                <!-- Fixed Jira Issues -->
                                <xsl:for-each select="key('jiraIssues', ./issues/jira)[@resolution = 'Fixed']">
                                    <tr>
                                        <xsl:call-template name="jiraIssue">
                                            <xsl:with-param name="mode" select="'full'"/>
                                            <xsl:with-param name="prefix" select="'J3'"/>
                                            <xsl:with-param name="pkg" select="$dpkg"/>
                                        </xsl:call-template>
                                    </tr>
                                </xsl:for-each>
                                 
                                <!-- Fixed ClearQuest Issues -->
                                <xsl:for-each select="key('cqIssues', ./issues/clearquest)[@iss_state = '1']">
                                    <tr>
                                        <xsl:call-template name="clearQuestIssue">
                                            <xsl:with-param name="mode" select="'full'"/>
                                            <xsl:with-param name="prefix" select="'C3'"/>
                                            <xsl:with-param name="pkg" select="$dpkg"/>
                                        </xsl:call-template>
                                    </tr>
                                </xsl:for-each>
                            </xsl:if>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                                <!-- Deployed package: Changes since last version -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="5" class="tbl_title">
                                                                <span class="body_sect">Changes Since Last Version:</span>
                                                                <br/>
                                                                <xsl:text>This represents the build dependency differences between </xsl:text>
                                                                <xsl:value-of select="//package_data/package/@name"/>&#160;<xsl:value-of select="//package_data/package/@version"/>
                                                                <xsl:text> and </xsl:text>
                                                                <xsl:call-template name="versionRef">
                                                                        <xsl:with-param name="pkg" select="//package_data/package/previous/@name"/>
                                                                        <xsl:with-param name="version" select="//package_data/package/previous/@version"/>
                                                                        <xsl:with-param name="pvid" select="//package_data/package/previous/@pvid"/>
                                                                </xsl:call-template>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Status</th>
                                                        <th width="1%">Dependency Name</th>
                                                        <th width="1%">Current Version</th>
                                                        <th width="1%">Previous Version</th>
                                                        <th>Last Owner</th>
                                                </tr>
                                                <xsl:for-each select="/package_data/builddep/dependencydiff">
                                                        <xsl:sort select="upper-case(./@name)"/>
                                                        <tr>
                                                                <xsl:call-template name="changeClass">
                                                                        <xsl:with-param name="style" select="./@status"/>
                                                                </xsl:call-template>
                                                                <td class="body_txt_gray pkgType">
                                                                        <xsl:value-of select="./@status"/>
                                                                </td>
                                                                <td class="pkgType">
                                                                        <xsl:value-of select="./@name"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:call-template name="versionRef">
                                                                                <xsl:with-param name="pkg" select="./@name"/>
                                                                                <xsl:with-param name="version" select="./@version"/>
                                                                                <xsl:with-param name="pvid" select="./@pvid"/>
                                                                        </xsl:call-template>
                                                                </td>
                                                                <td>
                                                                        <xsl:call-template name="versionRef">
                                                                                <xsl:with-param name="pkg" select="./@name"/>
                                                                                <xsl:with-param name="version" select="./@previous_version"/>
                                                                                <xsl:with-param name="pvid" select="./@previous_pvid"/>
                                                                        </xsl:call-template>
                                                                </td>
                                                                <td>
                                                                        <xsl:call-template name="mailUrl">
                                                                                <xsl:with-param name="text" select="./@modifier"/>
                                                                                <xsl:with-param name="email" select="./@modifier_email"/>
                                                                        </xsl:call-template>
                                                                </td>
                                                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                <!-- Build Dependencies -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="2" class="tbl_title">
                                                                <span class="body_sect">
                                    <xsl:text>Build Dependencies:</xsl:text>
                                </span>
                                                                <p>
                                    <xsl:text>This package was built with the following "dpkg_archive" packages:</xsl:text>
                                </p>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Dependency Name</th>
                                                        <th width="100%">Version</th>
                                                </tr>
                                                <xsl:for-each select="/package_data/build/dependency">
                                                        <xsl:sort select="upper-case(./@name)"/>
                                                        <tr>
                                                                <td>
                                                                        <xsl:value-of select="./@name"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:call-template name="versionRef">
                                                                                <xsl:with-param name="pkg" select="./@name"/>
                                                                                <xsl:with-param name="version" select="./@version"/>
                                                                                <xsl:with-param name="pvid" select="./@pvid"/>
                                                                        </xsl:call-template>
                                                                </td>
                                                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                                <!-- Run Time Dependencies -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="3" class="tbl_title">
                                                                <span class="body_sect">
                                    <xsl:text>Runtime Dependencies:</xsl:text>
                                </span>
                                                                <p>
                                    <xsl:text>This package requires the presence of the following packages on runtime to operate correctly:</xsl:text>
                                </p>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Dependency Name</th>
                                                        <th width="1%">Version</th>
                                                        <th>Comments</th>
                                                </tr>
                                                <xsl:for-each select="/package_data/runtime/dependency">
                                                        <xsl:sort select="upper-case(./@name)"/>
                                                        <tr>
                                                                <td>
                                                                        <xsl:value-of select="./@name"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:call-template name="versionRef">
                                                                                <xsl:with-param name="pkg" select="./@name"/>
                                                                                <xsl:with-param name="version" select="./@version"/>
                                                                                <xsl:with-param name="pvid" select="./@pvid"/>
                                                                        </xsl:call-template>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@comment" disable-output-escaping="yes"/>
                                                                </td>
                                                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                <!-- Files and Folders -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="4" class="tbl_title">
                                                                <span class="body_sect">Files:</span>
                                                                <br/>
                                                                <span class="wrap">
                                                                        <br/>
                                    <xsl:text>This release consists of the following files.</xsl:text>
                                                                </span>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">File Path</th>
                                                        <th>File Name</th>
                                                        <th width="1%">Size (bytes)</th>
                                                        <th width="1%">MD5 Digest</th>
                                                </tr>
                                                <xsl:for-each select="/package_data/files/file[@type != 'merge']">
                                                        <xsl:sort select="./@path"/>
                                                        <xsl:sort select="./@name"/>
                                                        <tr>
                                                                <td>
                                                                        <xsl:value-of select="./@path"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@name"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@size"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@md5sum"/>
                                                                </td>
                                                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                                <!-- Unit Tests -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td colspan="4" class="tbl_title">
                                                                <span class="body_sect">Unit Tests:</span>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <th width="1%">Test</th>
                                                        <th width="100%">Test Summary</th>
                                                        <th width="1%" align="center">Passed # / Total</th>
                                                        <th width="1%">Test Completed</th>
                                                </tr>
                                                <xsl:for-each select="/package_data/unit_tests/test">
                                                        <tr>
                                                                <td>
                                                                        <xsl:value-of select="./@name"/>
                                                                </td>
                                                                <td class="wrap">
                                                                        <xsl:value-of select="./@test_summary" disable-output-escaping="yes"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@numof_test"/>
                                                                </td>
                                                                <td>
                                                                        <xsl:value-of select="./@completion_date"/>
                                                                </td>
                                                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                                <!-- Additional Notes -->
                                <table class="tbl_border">
                                        <tbody>
                                                <tr>
                                                        <td class="body_sect tbl_title">Additional Notes:</td>
                                                </tr>
                                                <xsl:for-each select="/package_data/additional_notes/note">
                        <tr>
                            <td class="wrap">
                                <b>
                                    <xsl:value-of select="./@note_title"/>
                                </b>
                                <br/>
                                <xsl:value-of select="./@note_body" disable-output-escaping="yes"/>
                                <p class="body_txt_macro">
                                    <xsl:text>Last Modified: </xsl:text>
                                    <xsl:value-of select="./@mod_date"/>
                                    <xsl:text> by </xsl:text>
                                    <xsl:value-of select="./@full_name"/>
                                </p>
                            </td>
                        </tr>
                                                </xsl:for-each>
                                        </tbody>
                                </table>

                <!-- Page Footer -->
                                <table class="tbl_noborder">
                                        <tbody>
                                                <tr>
                                                        <td colspan="3">
                                                                <hr size="1"/>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td align="left" width="33%">
                                Data Source: <xsl:value-of select="/package_data/meta/@created"/>
                                                        </td>
                                                        <td align="center" width="33%">
                                Generated: <xsl:value-of select="current-dateTime()"/>
                                                        </td>
                                                        <td align="right" width="33%">
                                                                <xsl:text>VIX Confidental © VIX</xsl:text>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>
                        </body>
                </html>
        </xsl:template>
</xsl:stylesheet>