233 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
		
		
			
		
	
	
			233 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
|  | <?xml version="1.0" encoding="utf-8"?> | ||
|  | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"> | ||
|  | 
 | ||
|  |     <xsl:key name="ProjectKey" match="Event" use="@Project"/> | ||
|  | 
 | ||
|  |     <xsl:template match="Events" mode="createProjects"> | ||
|  |         <projects> | ||
|  |             <xsl:for-each select="Event"> | ||
|  |                 <!--xsl:sort select="@Project" order="descending"/--> | ||
|  |                 <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)"> | ||
|  | 
 | ||
|  |                     <xsl:variable name="ProjectName" select="@Project"/> | ||
|  | 
 | ||
|  |                     <project> | ||
|  |                         <xsl:attribute name="name"> | ||
|  |                             <xsl:value-of select="@Project"/> | ||
|  |                         </xsl:attribute>  | ||
|  | 
 | ||
|  |                         <xsl:if test="@Project=''"> | ||
|  |                         <xsl:attribute name="solution"> | ||
|  |                             <xsl:value-of select="@Solution"/> | ||
|  |                         </xsl:attribute>  | ||
|  |                         </xsl:if> | ||
|  | 
 | ||
|  |                         <xsl:for-each select="key('ProjectKey', $ProjectName)"> | ||
|  |                             <!--xsl:sort select="@Source" /--> | ||
|  |                             <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)"> | ||
|  | 
 | ||
|  |                                 <source> | ||
|  |                                     <xsl:attribute name="name"> | ||
|  |                                         <xsl:value-of select="@Source"/> | ||
|  |                                     </xsl:attribute> | ||
|  | 
 | ||
|  |                                     <xsl:variable name="Source"> | ||
|  |                                         <xsl:value-of select="@Source"/> | ||
|  |                                     </xsl:variable> | ||
|  | 
 | ||
|  |                                     <xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]"> | ||
|  | 
 | ||
|  |                                         <event> | ||
|  |                                             <xsl:attribute name="error-level"> | ||
|  |                                                 <xsl:value-of select="@ErrorLevel"/> | ||
|  |                                             </xsl:attribute>  | ||
|  |                                             <xsl:attribute name="description"> | ||
|  |                                                 <xsl:value-of select="@Description"/> | ||
|  |                                             </xsl:attribute>  | ||
|  |                                         </event> | ||
|  |                                     </xsl:for-each> | ||
|  |                                 </source> | ||
|  |                             </xsl:if> | ||
|  |                         </xsl:for-each> | ||
|  | 
 | ||
|  |                     </project> | ||
|  |                 </xsl:if> | ||
|  |             </xsl:for-each> | ||
|  |         </projects> | ||
|  |     </xsl:template> | ||
|  | 
 | ||
|  |     <xsl:template match="projects"> | ||
|  |     <xsl:for-each select="project"> | ||
|  |     <xsl:sort select="@Name" order="ascending"/> | ||
|  |         <h2> | ||
|  |         <xsl:if test="@solution"><a _locID="Solution">解决方案</a>: <xsl:value-of select="@solution"/></xsl:if> | ||
|  |         <xsl:if test="not(@solution)"><a _locID="Project">项目</a>: <xsl:value-of select="@name"/> | ||
|  |             <xsl:for-each select="source"> | ||
|  |                 <xsl:variable name="Hyperlink" select="@name"/> | ||
|  |             <xsl:for-each select="event[@error-level='4']"> | ||
|  |              <A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A> | ||
|  |                 </xsl:for-each> | ||
|  |             </xsl:for-each> | ||
|  |         </xsl:if> | ||
|  |         </h2> | ||
|  | 
 | ||
|  |         <table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable"> | ||
|  |             <tr> | ||
|  |                 <td nowrap="1" class="header" _locID="Filename">文件名</td> | ||
|  |                 <td nowrap="1" class="header" _locID="Status">状态</td> | ||
|  |                 <td nowrap="1" class="header" _locID="Errors">错误</td> | ||
|  |                 <td nowrap="1" class="header" _locID="Warnings">警告</td> | ||
|  |             </tr> | ||
|  | 
 | ||
|  |             <xsl:for-each select="source"> | ||
|  |                 <xsl:sort select="@name" order="ascending"/> | ||
|  |                 <xsl:variable name="source-id" select="generate-id(.)"/> | ||
|  | 
 | ||
|  |                 <xsl:if test="count(event)!=count(event[@error-level='4'])"> | ||
|  | 
 | ||
|  |                 <tr class="row"> | ||
|  |                     <td class="content"> | ||
|  |                         <A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" _locID="IMG.alt" _locAttrData="alt" alt="展开/折叠节" 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"/>  | ||
|  |                     </td> | ||
|  |                     <td class="content"> | ||
|  |                         <xsl:if test="count(event[@error-level='3'])=1"> | ||
|  |                             <xsl:for-each select="event[@error-level='3']"> | ||
|  |                             <xsl:if test="@description='Converted'"><a _locID="Converted1">已转换</a></xsl:if> | ||
|  |                             <xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if> | ||
|  |                             </xsl:for-each> | ||
|  |                         </xsl:if> | ||
|  |                         <xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0"><a _locID="Converted2">已转换</a> | ||
|  |                         </xsl:if> | ||
|  |                     </td> | ||
|  |                     <td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td> | ||
|  |                     <td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td> | ||
|  |                 </tr> | ||
|  | 
 | ||
|  |                 <tr class="collapsed" bgcolor="#ffffff"> | ||
|  |                     <xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute> | ||
|  | 
 | ||
|  |                     <td colspan="7"> | ||
|  |                         <table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable"> | ||
|  |                             <tr> | ||
|  |                                 <td colspan="7" class="issuetitle" _locID="ConversionIssues">转换问题 - <xsl:value-of select="@name"/>:</td> | ||
|  |                             </tr> | ||
|  | 
 | ||
|  |                             <xsl:for-each select="event[@error-level!='3']"> | ||
|  |                                 <xsl:if test="@error-level!='4'"> | ||
|  |                                 <tr> | ||
|  |                                     <td class="issuenone" style="border-bottom:solid 1 lightgray"> | ||
|  |                                         <xsl:value-of select="@description"/> | ||
|  |                                     </td> | ||
|  |                                 </tr> | ||
|  |                                 </xsl:if> | ||
|  |                             </xsl:for-each> | ||
|  |                         </table> | ||
|  |                     </td> | ||
|  |                 </tr> | ||
|  |                 </xsl:if> | ||
|  |             </xsl:for-each> | ||
|  | 
 | ||
|  |             <tr valign="top"> | ||
|  |                 <td class="foot"> | ||
|  |                     <xsl:if test="count(source)!=1"> | ||
|  |                         <xsl:value-of select="count(source)"/><a _locID="file1"> 个文件</a> | ||
|  |                     </xsl:if> | ||
|  |                     <xsl:if test="count(source)=1"> | ||
|  |                         <a _locID="file2">1 个文件</a> | ||
|  |                     </xsl:if> | ||
|  |                 </td> | ||
|  |                 <td class="foot"> | ||
|  | 					<a _locID="Converted3">已转换</a>: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR/> | ||
|  | 					<a _locID="NotConverted">未转换</a>: <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/> | ||
|  |                 </td> | ||
|  |                 <td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td> | ||
|  |                 <td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td> | ||
|  |             </tr> | ||
|  |         </table> | ||
|  |     </xsl:for-each> | ||
|  |     </xsl:template> | ||
|  | 
 | ||
|  |     <xsl:template match="Property"> | ||
|  |         <xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'"> | ||
|  |         <tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr> | ||
|  |         </xsl:if> | ||
|  |     </xsl:template> | ||
|  | 
 | ||
|  |     <xsl:template match="UpgradeLog"> | ||
|  |         <html> | ||
|  |             <head> | ||
|  |                 <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8"/> | ||
|  |                 <link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css"/> | ||
|  |                 <title _locID="ConversionReport0">转换报告  | ||
|  |                     <xsl:if test="Properties/Property[@Name='LogNumber']"> | ||
|  |                         <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> | ||
|  |                     </xsl:if> | ||
|  |                 </title> | ||
|  |                 <script language="javascript"> | ||
|  |                     function outliner () { | ||
|  |                         oMe = window.event.srcElement | ||
|  |                         //get child element | ||
|  |                         var child = document.all[event.srcElement.getAttribute("child",false)]; | ||
|  |                         //if child element exists, expand or collapse it. | ||
|  |                         if (null != child) | ||
|  |                             child.className = child.className == "collapsed" ? "expanded" : "collapsed"; | ||
|  |                     } | ||
|  | 
 | ||
|  |                     function changepic() { | ||
|  |                         uMe = window.event.srcElement; | ||
|  |                         var check = uMe.src.toLowerCase(); | ||
|  |                         if (check.lastIndexOf("upgradereport_plus.gif") != -1) | ||
|  |                         { | ||
|  |                             uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif" | ||
|  |                         } | ||
|  |                         else | ||
|  |                         { | ||
|  |                             uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif" | ||
|  |                         } | ||
|  |                     } | ||
|  |                 </script> | ||
|  |             </head> | ||
|  |             <body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();"> | ||
|  |                 <h1 _locID="ConversionReport">转换报告 - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1> | ||
|  | 
 | ||
|  |                 <p><span class="note"> | ||
|  |                 <b _locID="TimeOfConversion">转换时间:</b>  <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/>  <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/> | ||
|  |                 </span></p> | ||
|  | 
 | ||
|  |                 <xsl:variable name="SortedEvents"> | ||
|  |                     <Events> | ||
|  |                         <xsl:for-each select="Event"> | ||
|  |                             <xsl:sort select="@Project" order="ascending"/> | ||
|  |                             <xsl:sort select="@Source" order="ascending"/> | ||
|  |                             <xsl:sort select="@ErrorLevel" order="ascending"/> | ||
|  |                             <Event> | ||
|  |                                 <xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>  | ||
|  |                                 <xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>  | ||
|  |                                 <xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>  | ||
|  |                                 <xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>  | ||
|  |                                 <xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>  | ||
|  |                             </Event> | ||
|  |                         </xsl:for-each>      | ||
|  |                     </Events> | ||
|  |                 </xsl:variable> | ||
|  |                  | ||
|  |                 <xsl:variable name="Projects"> | ||
|  |                     <xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/> | ||
|  |                 </xsl:variable> | ||
|  | 
 | ||
|  |                 <xsl:apply-templates select="msxsl:node-set($Projects)/*"/> | ||
|  | 
 | ||
|  |                 <p></p><p> | ||
|  |                 <table class="note"> | ||
|  |                     <tr> | ||
|  |                         <td nowrap="1"> | ||
|  |                             <b _locID="ConversionSettings">转换设置</b> | ||
|  |                         </td> | ||
|  |                     </tr> | ||
|  |                     <xsl:apply-templates select="Properties"/> | ||
|  |                 </table></p> | ||
|  |             </body> | ||
|  |         </html> | ||
|  |     </xsl:template> | ||
|  | </xsl:stylesheet> |