1 | foo=<?xml version="1.0" encoding="UTF-8" ?>
|
---|
2 | =<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl='urn:schemas-microsoft-com:xslt'>
|
---|
3 | =
|
---|
4 | = <xsl:key name="ProjectKey" match="Event" use="@Project" />
|
---|
5 | =
|
---|
6 | = <xsl:template match="Events" mode="createProjects">
|
---|
7 | = <projects>
|
---|
8 | = <xsl:for-each select="Event">
|
---|
9 | = <!--xsl:sort select="@Project" order="descending"/-->
|
---|
10 | = <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)">
|
---|
11 | =
|
---|
12 | = <xsl:variable name="ProjectName" select="@Project"/>
|
---|
13 | =
|
---|
14 | = <project>
|
---|
15 | = <xsl:attribute name="name">
|
---|
16 | = <xsl:value-of select="@Project"/>
|
---|
17 | = </xsl:attribute>
|
---|
18 | =
|
---|
19 | = <xsl:if test="@Project=''">
|
---|
20 | = <xsl:attribute name="solution">
|
---|
21 | = <xsl:value-of select="@Solution"/>
|
---|
22 | = </xsl:attribute>
|
---|
23 | = </xsl:if>
|
---|
24 | =
|
---|
25 | = <xsl:for-each select="key('ProjectKey', $ProjectName)">
|
---|
26 | = <!--xsl:sort select="@Source" /-->
|
---|
27 | = <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)">
|
---|
28 | =
|
---|
29 | = <source>
|
---|
30 | = <xsl:attribute name="name">
|
---|
31 | = <xsl:value-of select="@Source"/>
|
---|
32 | = </xsl:attribute>
|
---|
33 | =
|
---|
34 | = <xsl:variable name="Source">
|
---|
35 | = <xsl:value-of select="@Source"/>
|
---|
36 | = </xsl:variable>
|
---|
37 | =
|
---|
38 | = <xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]">
|
---|
39 | =
|
---|
40 | = <event>
|
---|
41 | = <xsl:attribute name="error-level">
|
---|
42 | = <xsl:value-of select="@ErrorLevel"/>
|
---|
43 | = </xsl:attribute>
|
---|
44 | = <xsl:attribute name="description">
|
---|
45 | = <xsl:value-of select="@Description"/>
|
---|
46 | = </xsl:attribute>
|
---|
47 | = </event>
|
---|
48 | = </xsl:for-each>
|
---|
49 | = </source>
|
---|
50 | = </xsl:if>
|
---|
51 | = </xsl:for-each>
|
---|
52 | =
|
---|
53 | = </project>
|
---|
54 | = </xsl:if>
|
---|
55 | = </xsl:for-each>
|
---|
56 | = </projects>
|
---|
57 | = </xsl:template>
|
---|
58 | =
|
---|
59 | = <xsl:template match="projects">
|
---|
60 | = <xsl:for-each select="project">
|
---|
61 | = <xsl:sort select="@Name" order="ascending"/>
|
---|
62 | = <h2>
|
---|
63 | = <xsl:if test="@solution">Solution: <xsl:value-of select="@solution"/></xsl:if>
|
---|
64 | = <xsl:if test="not(@solution)">Project: <xsl:value-of select="@name"/>
|
---|
65 | = <xsl:for-each select="source">
|
---|
66 | = <xsl:variable name="Hyperlink" select="@name"/>
|
---|
67 | = <xsl:for-each select="event[@error-level='4']">
|
---|
68 | =  <A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A>
|
---|
69 | = </xsl:for-each>
|
---|
70 | = </xsl:for-each>
|
---|
71 | = </xsl:if>
|
---|
72 | = </h2>
|
---|
73 | =
|
---|
74 | = <table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable">
|
---|
75 | = <tr>
|
---|
76 | = <td nowrap="1" class="header" _locID="Filename">Filename</td>
|
---|
77 | = <td nowrap="1" class="header" _locID="Status">Status</td>
|
---|
78 | = <td nowrap="1" class="header" _locID="Errors">Errors</td>
|
---|
79 | = <td nowrap="1" class="header" _locID="Warnings">Warnings</td>
|
---|
80 | = </tr>
|
---|
81 | =
|
---|
82 | = <xsl:for-each select="source">
|
---|
83 | = <xsl:sort select="@name" order="ascending"/>
|
---|
84 | = <xsl:variable name="source-id" select="generate-id(.)"/>
|
---|
85 | =
|
---|
86 | = <xsl:if test="count(event)!=count(event[@error-level='4'])">
|
---|
87 | =
|
---|
88 | = <tr class="row">
|
---|
89 | = <td class="content">
|
---|
90 | = <A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" alt="expand/collapse section" class="expandable" height="11" onclick="changepic()" src="_UpgradeReport_Files/UpgradeReport_Plus.gif" width="9" ><xsl:attribute name="name"><xsl:value-of select="$source-id"/></xsl:attribute><xsl:attribute name="child">src<xsl:value-of select="$source-id"/></xsl:attribute></IMG></A> <xsl:value-of select="@name"/>
|
---|
91 | = </td>
|
---|
92 | = <td class="content">
|
---|
93 | = <xsl:if test="count(event[@error-level='3'])=1">
|
---|
94 | = <xsl:for-each select="event[@error-level='3']">
|
---|
95 | = <xsl:if test="@description='Converted'">Converted</xsl:if>
|
---|
96 | = <xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if>
|
---|
97 | = </xsl:for-each>
|
---|
98 | = </xsl:if>
|
---|
99 | = <xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0">Converted
|
---|
100 | = </xsl:if>
|
---|
101 | = </td>
|
---|
102 | = <td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td>
|
---|
103 | = <td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td>
|
---|
104 | = </tr>
|
---|
105 | =
|
---|
106 | = <tr class="collapsed" bgcolor="#ffffff">
|
---|
107 | = <xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute>
|
---|
108 | =
|
---|
109 | = <td colspan="7">
|
---|
110 | = <table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable">
|
---|
111 | = <tr>
|
---|
112 | = <td colspan="7" class="issuetitle" _locID="ConversionIssues">Conversion Issues - <xsl:value-of select="@name"/>:</td>
|
---|
113 | = </tr>
|
---|
114 | =
|
---|
115 | = <xsl:for-each select="event[@error-level!='3']">
|
---|
116 | = <xsl:if test="@error-level!='4'">
|
---|
117 | = <tr>
|
---|
118 | = <td class="issuenone" style="border-bottom:solid 1 lightgray">
|
---|
119 | = <xsl:value-of select="@description"/>
|
---|
120 | = </td>
|
---|
121 | = </tr>
|
---|
122 | = </xsl:if>
|
---|
123 | = </xsl:for-each>
|
---|
124 | = </table>
|
---|
125 | = </td>
|
---|
126 | = </tr>
|
---|
127 | = </xsl:if>
|
---|
128 | = </xsl:for-each>
|
---|
129 | =
|
---|
130 | = <tr valign="top">
|
---|
131 | = <td class="foot">
|
---|
132 | = <xsl:if test="count(source)!=1">
|
---|
133 | = <xsl:value-of select="count(source)"/> files
|
---|
134 | = </xsl:if>
|
---|
135 | = <xsl:if test="count(source)=1">
|
---|
136 | = 1 file
|
---|
137 | = </xsl:if>
|
---|
138 | = </td>
|
---|
139 | = <td class="foot">
|
---|
140 | = Converted: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR />
|
---|
141 | = Not converted <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/>
|
---|
142 | = </td>
|
---|
143 | = <td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td>
|
---|
144 | = <td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td>
|
---|
145 | = </tr>
|
---|
146 | = </table>
|
---|
147 | = </xsl:for-each>
|
---|
148 | = </xsl:template>
|
---|
149 | =
|
---|
150 | = <xsl:template match="Property">
|
---|
151 | = <xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'">
|
---|
152 | = <tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr>
|
---|
153 | = </xsl:if>
|
---|
154 | = </xsl:template>
|
---|
155 | =
|
---|
156 | = <xsl:template match="UpgradeLog">
|
---|
157 | = <html>
|
---|
158 | = <head>
|
---|
159 | = <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" />
|
---|
160 | = <link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css" />
|
---|
161 | = <title>Conversion Report 
|
---|
162 | = <xsl:if test="Properties/Property[@Name='LogNumber']">
|
---|
163 | = <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/>
|
---|
164 | = </xsl:if>
|
---|
165 | = </title>
|
---|
166 | = <script language="javascript">
|
---|
167 | = function outliner () {
|
---|
168 | = oMe = window.event.srcElement
|
---|
169 | = //get child element
|
---|
170 | = var child = document.all[event.srcElement.getAttribute("child",false)];
|
---|
171 | = //if child element exists, expand or collapse it.
|
---|
172 | = if (null != child)
|
---|
173 | = child.className = child.className == "collapsed" ? "expanded" : "collapsed";
|
---|
174 | = }
|
---|
175 | =
|
---|
176 | = function changepic() {
|
---|
177 | = uMe = window.event.srcElement;
|
---|
178 | = var check = uMe.src.toLowerCase();
|
---|
179 | = if (check.lastIndexOf("upgradereport_plus.gif") != -1)
|
---|
180 | = {
|
---|
181 | = uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif"
|
---|
182 | = }
|
---|
183 | = else
|
---|
184 | = {
|
---|
185 | = uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif"
|
---|
186 | = }
|
---|
187 | = }
|
---|
188 | = </script>
|
---|
189 | = </head>
|
---|
190 | = <body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();">
|
---|
191 | = <h1 _locID="ConversionReport">Conversion Report - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1>
|
---|
192 | =
|
---|
193 | = <p><span class="note">
|
---|
194 | = <b>Time of Conversion:</b>  <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/>  <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/>
|
---|
195 | = </span></p>
|
---|
196 | =
|
---|
197 | = <xsl:variable name="SortedEvents">
|
---|
198 | = <Events>
|
---|
199 | = <xsl:for-each select="Event">
|
---|
200 | = <xsl:sort select="@Project" order="ascending"/>
|
---|
201 | = <xsl:sort select="@Source" order="ascending"/>
|
---|
202 | = <xsl:sort select="@ErrorLevel" order="ascending"/>
|
---|
203 | = <Event>
|
---|
204 | = <xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>
|
---|
205 | = <xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>
|
---|
206 | = <xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>
|
---|
207 | = <xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>
|
---|
208 | = <xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>
|
---|
209 | = </Event>
|
---|
210 | = </xsl:for-each>
|
---|
211 | = </Events>
|
---|
212 | = </xsl:variable>
|
---|
213 | =
|
---|
214 | = <xsl:variable name="Projects">
|
---|
215 | = <xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/>
|
---|
216 | = </xsl:variable>
|
---|
217 | =
|
---|
218 | = <xsl:apply-templates select="msxsl:node-set($Projects)/*"/>
|
---|
219 | =
|
---|
220 | = <p></p><p>
|
---|
221 | = <table class="note">
|
---|
222 | = <tr>
|
---|
223 | = <td nowrap="1">
|
---|
224 | = <b>Conversion Settings</b>
|
---|
225 | = </td>
|
---|
226 | = </tr>
|
---|
227 | = <xsl:apply-templates select="Properties"/>
|
---|
228 | = </table></p>
|
---|
229 | = </body>
|
---|
230 | = </html>
|
---|
231 | = </xsl:template>
|
---|
232 | =</xsl:stylesheet>
|
---|