home *** CD-ROM | disk | FTP | other *** search
/ ftp.tcs3.com / ftp.tcs3.com.tar / ftp.tcs3.com / DRIVERS / Audio / Office2010 / InfoPath.en-us / InfLR.cab / FL_UpgradeReport_xslt_121772_ENU____.3643236F_FC70_11D3_A536_0090278A1BB8 < prev    next >
Extensible Markup Language  |  2009-05-22  |  12KB  |  233 lines

  1. <?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>
  233.