Просмотр исходного кода

various XSL reports fixes

[SVN r23977]
Aleksey Gurtovoy 22 лет назад
Родитель
Сommit
a2d63cc57b

+ 1 - 1
tools/regression/xsl_reports/xsl/v2/add_expected_results.xsl

@@ -38,7 +38,7 @@
           <!-- Hack: needs to be researched (and removed). See M.Wille's incident. -->
           <xsl:when test="run/@result='succeed' and lib/@result='fail'">
             <xsl:text>success</xsl:text>
-      </xsl:when>
+          </xsl:when>
           <xsl:when test="./*/@result = 'fail'" >
             <xsl:text>fail</xsl:text>
           </xsl:when>

+ 294 - 289
tools/regression/xsl_reports/xsl/v2/common.xsl

@@ -9,310 +9,315 @@
 
 -->
 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  xmlns:func="http://exslt.org/functions"
-  xmlns:meta="http://www.meta-comm.com"
-  extension-element-prefixes="func"
-  version="1.0">
+<xsl:stylesheet 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:exsl="http://exslt.org/common"
+    xmlns:func="http://exslt.org/functions"
+    xmlns:str="http://exslt.org/strings"
+    xmlns:meta="http://www.meta-comm.com"
+    extension-element-prefixes="func"
+    exclude-result-prefixes="exsl func str meta"
+    version="1.0">
 
     <xsl:variable name="output_directory" select="'output'"/>
 
-  <func:function name="meta:test_structure">
-    <xsl:param name="document"/>
-    <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
-
-    <xsl:variable name="runs" select="//test-run"/>
-    <xsl:variable name="run_toolsets_f">
-      <runs>
-        <xsl:for-each select="$runs">
-            <run 
-                runner="{@runner}" 
-                timestamp="{@timestamp}" 
-                platform="{@platform}"
-                run-type="{@run-type}"
-                source="{@source}">
-
-                <comment><xsl:value-of select="comment"/></comment>
-                <xsl:variable name="not_ordered_toolsets" select="set:distinct( .//test-log[ meta:is_test_log_a_test_case(.) ]/@toolset )"/>
-
-                <xsl:variable name="not_ordered_toolsets_with_info_f">
-                    <xsl:for-each select="$not_ordered_toolsets">
-                        <xsl:sort select="." order="ascending"/>
-                        <xsl:variable name="toolset" select="."/>
-                        <xsl:variable name="required">
-                            <xsl:choose>
-                                <xsl:when test="count( $required_toolsets[ @name = $toolset ] ) > 0">yes</xsl:when>
-                                <xsl:otherwise>no</xsl:otherwise>
-                            </xsl:choose>
-                        </xsl:variable>
-                        <xsl:variable name="required_sort_hint">
-                            <xsl:choose>
-                                <xsl:when test="$required = 'yes'">sort hint A</xsl:when>
-                                <xsl:otherwise>sort hint B</xsl:otherwise>
-                            </xsl:choose>
-                        </xsl:variable>
-                        <toolset name="{$toolset}" required="{$required}" required_sort_hint="{$required_sort_hint}"/>
+    <func:function name="meta:test_structure">
+        <xsl:param name="document"/>
+        <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
+
+        <xsl:variable name="runs" select="//test-run"/>
+        <xsl:variable name="run_toolsets_f">
+        <runs>
+            <xsl:for-each select="$runs">
+                <run 
+                    runner="{@runner}" 
+                    timestamp="{@timestamp}" 
+                    platform="{@platform}"
+                    run-type="{@run-type}"
+                    source="{@source}">
+
+                    <comment><xsl:value-of select="comment"/></comment>
+                    <xsl:variable name="not_ordered_toolsets" select="set:distinct( .//test-log[ meta:is_test_log_a_test_case(.) ]/@toolset )"/>
+
+                    <xsl:variable name="not_ordered_toolsets_with_info_f">
+                        <xsl:for-each select="$not_ordered_toolsets">
+                            <xsl:sort select="." order="ascending"/>
+                            <xsl:variable name="toolset" select="."/>
+                            <xsl:variable name="required">
+                                <xsl:choose>
+                                    <xsl:when test="count( $required_toolsets[ @name = $toolset ] ) > 0">yes</xsl:when>
+                                    <xsl:otherwise>no</xsl:otherwise>
+                                </xsl:choose>
+                            </xsl:variable>
+                            <xsl:variable name="required_sort_hint">
+                                <xsl:choose>
+                                    <xsl:when test="$required = 'yes'">sort hint A</xsl:when>
+                                    <xsl:otherwise>sort hint B</xsl:otherwise>
+                                </xsl:choose>
+                            </xsl:variable>
+                            <toolset name="{$toolset}" required="{$required}" required_sort_hint="{$required_sort_hint}"/>
+                        </xsl:for-each>
+                    </xsl:variable>
+
+                    <xsl:variable name="not_ordered_toolsets_with_info" select="exsl:node-set( $not_ordered_toolsets_with_info_f )"/>
+                    
+                    <xsl:for-each select="$not_ordered_toolsets_with_info/toolset">
+                        <xsl:sort select="concat( @required_sort_hint, '-', @name )" order="ascending"/>
+                        <xsl:copy-of select="."/>
                     </xsl:for-each>
-                </xsl:variable>
+                </run>
+            </xsl:for-each>
+        </runs>
+        </xsl:variable>
 
-                <xsl:variable name="not_ordered_toolsets_with_info" select="exsl:node-set( $not_ordered_toolsets_with_info_f )"/>
-                
-                <xsl:for-each select="$not_ordered_toolsets_with_info/toolset">
-                    <xsl:sort select="concat( @required_sort_hint, '-', @name )" order="ascending"/>
-                    <xsl:copy-of select="."/>
-                </xsl:for-each>
-            </run>
-        </xsl:for-each>
-      </runs>
-    </xsl:variable>
-
-    <func:result select="exsl:node-set( $run_toolsets_f )"/>
-  </func:function>
+        <func:result select="exsl:node-set( $run_toolsets_f )"/>
+    </func:function>
 
-  <xsl:template name="get_toolsets">
-    <xsl:param name="toolsets"/>
-    <xsl:param name="required-toolsets"/>
-    
-    <xsl:variable name="toolset_output">
-      <xsl:for-each select="$toolsets">
-        <xsl:variable name="toolset" select="."/>
-        <xsl:element name="toolset">
-          <xsl:attribute name="toolset"><xsl:value-of select="$toolset"/></xsl:attribute>
-          <xsl:choose>
-            <xsl:when test="$required_toolsets[ $toolset = @name ]">
-              <xsl:attribute name="required">yes</xsl:attribute>
-              <xsl:attribute name="sort">a</xsl:attribute>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:attribute name="required">no</xsl:attribute>
-              <xsl:attribute name="sort">z</xsl:attribute>
-            </xsl:otherwise>
-          </xsl:choose>
-        </xsl:element>
-      </xsl:for-each>
-    </xsl:variable>
+    <xsl:template name="get_toolsets">
+        <xsl:param name="toolsets"/>
+        <xsl:param name="required-toolsets"/>
+        
+        <xsl:variable name="toolset_output">
+        <xsl:for-each select="$toolsets">
+            <xsl:variable name="toolset" select="."/>
+            <xsl:element name="toolset">
+            <xsl:attribute name="toolset"><xsl:value-of select="$toolset"/></xsl:attribute>
+            <xsl:choose>
+                <xsl:when test="$required_toolsets[ $toolset = @name ]">
+                <xsl:attribute name="required">yes</xsl:attribute>
+                <xsl:attribute name="sort">a</xsl:attribute>
+                </xsl:when>
+                <xsl:otherwise>
+                <xsl:attribute name="required">no</xsl:attribute>
+                <xsl:attribute name="sort">z</xsl:attribute>
+                </xsl:otherwise>
+            </xsl:choose>
+            </xsl:element>
+        </xsl:for-each>
+        </xsl:variable>
     
-    <xsl:for-each select="exsl:node-set( $toolset_output )/toolset">
-      <xsl:sort select="concat( @sort, ' ', @toolset)" order="ascending"/>
-      <xsl:copy-of select="."/>
-    </xsl:for-each>
+        <xsl:for-each select="exsl:node-set( $toolset_output )/toolset">
+            <xsl:sort select="concat( @sort, ' ', @toolset)" order="ascending"/>
+            <xsl:copy-of select="."/>
+        </xsl:for-each>
     
-  </xsl:template>
-
-  <func:function name="meta:show_output">
-      <xsl:param name="explicit_markup"/>     
-      <xsl:param name="test_log"/>     
-      <func:result select="$test_log/@result != 'success' and not( meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )) or $test_log/@show-run-output = 'true'"/>
-  </func:function>
-
-  <func:function name="meta:is_test_log_a_test_case">
-      <xsl:param name="test_log"/>      
-      <func:result select="$test_log/@test-type='compile' or $test_log/@test-type='compile_fail' or $test_log/@test-type='run' or $test_log/@test-type='run_pyd'"/>
-  </func:function>
-
-  <func:function name="meta:is_unusable">
-      <xsl:param name="explicit_markup"/>
-      <xsl:param name="library"/>
-      <xsl:param name="toolset"/>
-      
-      <func:result select="$explicit_markup//library[ @name = $library ]/mark-unusable[ toolset/@name = $toolset or toolset/@name='*' ]"/>
-  </func:function>
-
-  <func:function name="meta:encode_path">
-      <xsl:param name="path"/>
-      <func:result select="translate( translate( $path, '/', '-' ), './', '-' )"/>
-  </func:function>
-
-    <func:function name="meta:toolset_name">
-        <xsl:param name="name"/>
-        <func:result select="$name"/>
+    </xsl:template>
+
+    <func:function name="meta:show_output">
+        <xsl:param name="explicit_markup"/>     
+        <xsl:param name="test_log"/>     
+        <func:result select="$test_log/@result != 'success' and not( meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )) or $test_log/@show-run-output = 'true'"/>
     </func:function>
 
-  <func:function name="meta:output_file_path">
-      <xsl:param name="path"/>
-      <func:result select="concat( $output_directory, '/', meta:encode_path( $path ), '.html' )"/>
-  </func:function>
+    <func:function name="meta:is_test_log_a_test_case">
+        <xsl:param name="test_log"/>      
+        <func:result select="$test_log/@test-type='compile' or $test_log/@test-type='compile_fail' or $test_log/@test-type='run' or $test_log/@test-type='run_pyd'"/>
+    </func:function>
 
-  <xsl:template name="insert_runners_rows">
-      <xsl:param name="mode"/>
-    
-      <xsl:variable name="colspan">
-          <xsl:choose>
-              <xsl:when test="$mode = 'summary'">1</xsl:when>
-              <xsl:when test="$mode = 'details'">2</xsl:when>
-          </xsl:choose>
-      </xsl:variable>
-    
-      <tr>
-          <td colspan="{$colspan}">&#160;</td>
-          <xsl:for-each select="$run_toolsets/runs/run">
-              <td colspan="{count(toolset)}" class="runner">
-                  <a href="../{@runner}.html">
-                      <xsl:value-of select="@runner"/>
-                  </a>
-                  <br/>
-                  <xsl:value-of select="concat( @platform, '/', @source, '/', @run-type )"/>
-              </td>
-          </xsl:for-each>
-      </tr>
-
-      <tr>
-          <td colspan="{$colspan}">&#160;</td>
-          <xsl:for-each select="$run_toolsets/runs/run">
-              <td colspan="{count(toolset)}" class="timestamp"><xsl:value-of select="@timestamp"/></td>
-          </xsl:for-each>
-      </tr>
-
-  </xsl:template>
-
-  <xsl:template name="insert_toolsets_row">
-      <xsl:param name="mode"/>
-      <xsl:param name="library"/>
-      <xsl:param name="library_marks"/>
-
-      <tr valign="middle">
-          <xsl:variable name="colspan">
-              <xsl:choose>
-                  <xsl:when test="$mode = 'summary'">1</xsl:when>
-                  <xsl:when test="$mode = 'details'">2</xsl:when>
-              </xsl:choose>
-          </xsl:variable>
-
-          <xsl:variable name="title">
-              <xsl:choose>
-                  <xsl:when test="$mode = 'summary'">library / toolset </xsl:when>
-                  <xsl:when test="$mode = 'details'">test / toolset</xsl:when>
-              </xsl:choose>
-          </xsl:variable>
-          
-          <td class="head" colspan="{$colspan}"><xsl:value-of select="$title"/></td>
+    <func:function name="meta:is_unusable">
+        <xsl:param name="explicit_markup"/>
+        <xsl:param name="library"/>
+        <xsl:param name="toolset"/>
           
-          <xsl:variable name="all_library_notes">
-              <xsl:choose>
-                  <xsl:when test="$mode = 'summary'">
-                      <xsl:value-of select="exsl:node-set( '&lt;none/&gt;' )"/>
-                  </xsl:when>
-                  <xsl:when test="$mode = 'details'">
-                      <xsl:value-of select="$library_marks/note"/>
-                  </xsl:when>
-              </xsl:choose>
-          </xsl:variable>
-
-          <xsl:for-each select="$run_toolsets/runs/run/toolset">
-              <xsl:variable name="toolset" select="@name"/>
+        <func:result select="$explicit_markup//library[ @name = $library ]/mark-unusable[ toolset/@name = $toolset or toolset/@name='*' ]"/>
+    </func:function>
+
+    <func:function name="meta:encode_path">
+        <xsl:param name="path"/>
+        <func:result select="translate( translate( $path, '/', '-' ), './', '-' )"/>
+    </func:function>
+
+    <func:function name="meta:output_file_path">
+        <xsl:param name="path"/>
+        <func:result select="concat( $output_directory, '/', meta:encode_path( $path ), '.html' )"/>
+    </func:function>
+
+    <xsl:template name="insert_runners_rows">
+        <xsl:param name="mode"/>
+        
+        <xsl:variable name="colspan">
+            <xsl:choose>
+                <xsl:when test="$mode = 'summary'">1</xsl:when>
+                <xsl:when test="$mode = 'details'">2</xsl:when>
+            </xsl:choose>
+        </xsl:variable>
+        
+        <tr>
+            <td colspan="{$colspan}">&#160;</td>
+            <xsl:for-each select="$run_toolsets/runs/run">
+                <td colspan="{count(toolset)}" class="runner">
+                    <a href="../{@runner}.html">
+                        <xsl:value-of select="@runner"/>
+                    </a>
+                    <br/>
+                    <xsl:value-of select="@platform"/>
+                </td>
+            </xsl:for-each>
+            <td colspan="{$colspan}">&#160;</td>
+        </tr>
+
+        <tr>
+            <td colspan="{$colspan}">&#160;</td>
+            <xsl:for-each select="$run_toolsets/runs/run">
+                <td colspan="{count(toolset)}" class="timestamp"><xsl:value-of select="@timestamp"/></td>
+            </xsl:for-each>
+            <td colspan="{$colspan}">&#160;</td>
+        </tr>
+
+    </xsl:template>
+
+    <xsl:template name="insert_toolsets_row">
+        <xsl:param name="mode"/>
+        <xsl:param name="library"/>
+        <xsl:param name="library_marks"/>
+
+        <tr valign="middle">
+            <xsl:variable name="colspan">
+                <xsl:choose>
+                    <xsl:when test="$mode = 'summary'">1</xsl:when>
+                    <xsl:when test="$mode = 'details'">2</xsl:when>
+                </xsl:choose>
+            </xsl:variable>
+
+            <xsl:variable name="title">
+                <xsl:choose>
+                    <xsl:when test="$mode = 'summary'">&#160;library&#160;/&#160;toolset&#160;</xsl:when>
+                    <xsl:when test="$mode = 'details'">&#160;test&#160;/&#160;toolset&#160;</xsl:when>
+                </xsl:choose>
+            </xsl:variable>
               
-              <xsl:variable name="class">
-                      <xsl:choose>
-                          <xsl:when test="@required='yes'">
-                              <xsl:text>required-toolset-name</xsl:text>
-                          </xsl:when>
-                          <xsl:otherwise>
-                              <xsl:text>toolset-name</xsl:text>
-                          </xsl:otherwise>
-                      </xsl:choose>
-                  </xsl:variable>
-                  
-                  <xsl:variable name="toolset_notes_fragment">
-                      <xsl:for-each select="$all_library_notes">
-                          <xsl:if test="../@toolset=$toolset or ( ../toolset/@name=$toolset or ../toolset/@name = '*' )">
-                              <note index="{position()}"/>
-                          </xsl:if>
-                      </xsl:for-each>
-                  </xsl:variable>
-
-                  <xsl:variable name="toolset_notes" select="exsl:node-set( $toolset_notes_fragment )/*"/>
+            <td class="head" colspan="{$colspan}" width="1%"><xsl:value-of select="$title"/></td>
+              
+            <xsl:variable name="all_library_notes">
+                <xsl:choose>
+                    <xsl:when test="$mode = 'summary'">
+                        <xsl:value-of select="exsl:node-set( '&lt;none/&gt;' )"/>
+                    </xsl:when>
+                    <xsl:when test="$mode = 'details'">
+                        <xsl:value-of select="$library_marks/note"/>
+                    </xsl:when>
+                </xsl:choose>
+            </xsl:variable>
+
+            <xsl:for-each select="$run_toolsets/runs/run/toolset">
+                <xsl:variable name="toolset" select="@name"/>
                   
-                  <td class="{$class}">
-                      <xsl:value-of select="$toolset"/>
-                      <xsl:if test="count( $toolset_notes ) > 0">
-                          <span class="super">
-                          <xsl:for-each select="$toolset_notes">
-                              <xsl:variable name="note_index" select="@index"/>
-                              <xsl:if test="generate-id( . ) != generate-id( $toolset_notes[1] )">, </xsl:if>
-                              <a href="#{$library}-note-{$note_index}" title="Note {$note_index}">
-                                  <xsl:value-of select="$note_index"/>
-                              </a>
-                          </xsl:for-each>
-                          </span>
-                      </xsl:if>
-                  </td>
-              </xsl:for-each>
-          
-      <td class="head"><xsl:value-of select="$title"/></td>
-  </tr>
-</xsl:template>
-
-  <xsl:template name="show_notes">
-      <xsl:param name="explicit_markup"/>
-      <xsl:param name="notes"/>
-        <div class="notes">
-          <xsl:for-each select="$notes">
-            <div>
-                <xsl:variable name="refid" select="@refid"/>
-                <xsl:call-template name="show_note">
-                    <xsl:with-param name="note" select="."/>
-                    <xsl:with-param name="reference" select="$explicit_markup//note[ $refid = @id ]"/>
-                </xsl:call-template>
+                <xsl:variable name="class">
+                        <xsl:choose>
+                            <xsl:when test="@required='yes'">
+                                <xsl:text>required-toolset-name</xsl:text>
+                            </xsl:when>
+                            <xsl:otherwise>
+                                <xsl:text>toolset-name</xsl:text>
+                            </xsl:otherwise>
+                        </xsl:choose>
+                    </xsl:variable>
+                      
+                    <xsl:variable name="toolset_notes_fragment">
+                        <xsl:for-each select="$all_library_notes">
+                            <xsl:if test="../@toolset=$toolset or ( ../toolset/@name=$toolset or ../toolset/@name = '*' )">
+                                <note index="{position()}"/>
+                            </xsl:if>
+                        </xsl:for-each>
+                    </xsl:variable>
+
+                    <xsl:variable name="toolset_notes" select="exsl:node-set( $toolset_notes_fragment )/*"/>
+                      
+                    <td class="{$class}">
+
+                        <xsl:for-each select="str:tokenize($toolset, '-')">
+                            <xsl:value-of select="." />
+                            <xsl:if test="position()!=last()">
+                                <xsl:text>- </xsl:text>
+                            </xsl:if>
+                        </xsl:for-each>
+
+                        <xsl:if test="count( $toolset_notes ) > 0">
+                            <span class="super">
+                            <xsl:for-each select="$toolset_notes">
+                                <xsl:variable name="note_index" select="@index"/>
+                                <xsl:if test="generate-id( . ) != generate-id( $toolset_notes[1] )">, </xsl:if>
+                                <a href="#{$library}-note-{$note_index}" title="Note {$note_index}">
+                                    <xsl:value-of select="$note_index"/>
+                                </a>
+                            </xsl:for-each>
+                            </span>
+                        </xsl:if>
+                    </td>
+                </xsl:for-each>
+              
+        <td class="head" width="1%"><xsl:value-of select="$title"/></td>
+    </tr>
+    </xsl:template>
+
+    <xsl:template name="show_notes">
+        <xsl:param name="explicit_markup"/>
+        <xsl:param name="notes"/>
+            <div class="notes">
+            <xsl:for-each select="$notes">
+                <div>
+                    <xsl:variable name="refid" select="@refid"/>
+                    <xsl:call-template name="show_note">
+                        <xsl:with-param name="note" select="."/>
+                        <xsl:with-param name="reference" select="$explicit_markup//note[ $refid = @id ]"/>
+                    </xsl:call-template>
+                </div>
+            </xsl:for-each>
             </div>
-          </xsl:for-each>
-        </div>
-  </xsl:template>
-
-  <xsl:template name="show_note">
-      <xsl:param name="note"/>
-      <xsl:param name="reference"/>
-      <div class="note">
-          <xsl:variable name="author">
-              <xsl:choose>
-                  <xsl:when test="$note/@author">
-                      <xsl:value-of select="$note/@author"/>
-                  </xsl:when>
-                  <xsl:when test="$reference">
-                      <xsl:value-of select="$reference/@author"/>                               
-                  </xsl:when>
-                  <xsl:otherwise>
-                      <xsl:text/>
-                  </xsl:otherwise>
-              </xsl:choose>
-          </xsl:variable>
-
-          <xsl:variable name="date">
-              <xsl:choose>
-                  <xsl:when test="$note/@date">
-                      <xsl:value-of select="$note/@date"/>
-                  </xsl:when>
-                  <xsl:when test="$reference">
-                      <xsl:value-of select="$reference/@date"/>                      
-                  </xsl:when>
-                  <xsl:otherwise>
-                      <xsl:text/>
-                  </xsl:otherwise>
-              </xsl:choose>
-          </xsl:variable>
-
-      <span class="note-header">
-          <xsl:choose>
-              <xsl:when test="$author != '' and $date != ''">
-                  [&#160;<xsl:value-of select="$author"/>&#160;<xsl:value-of select="$date"/>&#160;]
-              </xsl:when>
-              <xsl:when test="$author != ''">
-                  [&#160;<xsl:value-of select="$author"/>&#160;]                        
-              </xsl:when>
-              <xsl:when test="$date != ''">
-                  [&#160;<xsl:value-of select="$date"/>&#160;]                        
-              </xsl:when>
-          </xsl:choose>
-      </span>
-
-      <xsl:if test="$reference">
-          <xsl:copy-of select="$reference/node()"/>                
-      </xsl:if>
-      <xsl:copy-of select="$note/node()"/>      
-
-      </div>
-  </xsl:template>
-
+    </xsl:template>
+
+    <xsl:template name="show_note">
+        <xsl:param name="note"/>
+        <xsl:param name="reference"/>
+        <div class="note">
+            <xsl:variable name="author">
+                <xsl:choose>
+                    <xsl:when test="$note/@author">
+                        <xsl:value-of select="$note/@author"/>
+                    </xsl:when>
+                    <xsl:when test="$reference">
+                        <xsl:value-of select="$reference/@author"/>                               
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:text/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:variable>
+
+            <xsl:variable name="date">
+                <xsl:choose>
+                    <xsl:when test="$note/@date">
+                        <xsl:value-of select="$note/@date"/>
+                    </xsl:when>
+                    <xsl:when test="$reference">
+                        <xsl:value-of select="$reference/@date"/>                      
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:text/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:variable>
+
+        <span class="note-header">
+            <xsl:choose>
+                <xsl:when test="$author != '' and $date != ''">
+                    [&#160;<xsl:value-of select="$author"/>&#160;<xsl:value-of select="$date"/>&#160;]
+                </xsl:when>
+                <xsl:when test="$author != ''">
+                    [&#160;<xsl:value-of select="$author"/>&#160;]                        
+                </xsl:when>
+                <xsl:when test="$date != ''">
+                    [&#160;<xsl:value-of select="$date"/>&#160;]                        
+                </xsl:when>
+            </xsl:choose>
+        </span>
+
+        <xsl:if test="$reference">
+            <xsl:copy-of select="$reference/node()"/>                
+        </xsl:if>
+        <xsl:copy-of select="$note/node()"/>      
 
+        </div>
+    </xsl:template>
 
 </xsl:stylesheet>

+ 4 - 1
tools/regression/xsl_reports/xsl/v2/html/master.css

@@ -334,9 +334,11 @@ td.summary-unknown-status
 table.summary-table td.library-name
 {
     width: 100pt;
-    padding: 0pt;
+    padding-left: 6pt;
+    padding-right: 6pt;
     border-top: 1px solid gray;
     border-bottom: 1px solid gray;
+    text-align: left;
 }
 
   tr.summary-row        td.summary-user-fail-unexpected
@@ -405,6 +407,7 @@ table.library-table td.test-name
     border-right: 0;
     border-top: 1px solid gray;
     border-bottom: 1px solid gray;
+    text-align: left;
 }
 
 table.library-table td.test-type

+ 1 - 0
tools/regression/xsl_reports/xsl/v2/issues_page.xsl

@@ -16,6 +16,7 @@
     xmlns:meta="http://www.meta-comm.com"
     xmlns:set="http://exslt.org/sets"
     extension-element-prefixes="func exsl"
+    exclude-result-prefixes="set meta"
     version="1.0">
 
     <xsl:import href="common.xsl"/>

+ 1 - 0
tools/regression/xsl_reports/xsl/v2/links_page.xsl

@@ -15,6 +15,7 @@
     xmlns:func="http://exslt.org/functions"
     xmlns:meta="http://www.meta-comm.com"
     extension-element-prefixes="func exsl"
+    exclude-result-prefixes="meta"
     version="1.0">
 
     <xsl:import href="common.xsl"/>

+ 21 - 18
tools/regression/xsl_reports/xsl/v2/result_page.xsl

@@ -13,11 +13,10 @@
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:exsl="http://exslt.org/common"
     xmlns:func="http://exslt.org/functions"
-    xmlns:str="http://exslt.org/strings"
     xmlns:set="http://exslt.org/sets"
     xmlns:meta="http://www.meta-comm.com"
     extension-element-prefixes="func exsl"
-    exclude-result-prefixes="set str meta"
+    exclude-result-prefixes="exsl set meta"
     version="1.0">
 
     <xsl:import href="common.xsl"/>
@@ -272,7 +271,7 @@
                 <!--                <xsl:variable name="library_marks" select="$explicit_markup//library[ @name = $library ]/mark-unusable[ toolset/@name = $not_ordered_toolsets ]"/> -->
                 <xsl:variable name="library_marks" select="$explicit_markup//library[ @name = $library ]/mark-unusable"/>
 
-                <table border="0" cellspacing="0" cellpadding="0" class="library-table" summary="library results">
+                <table border="0" cellspacing="0" cellpadding="0" class="library-table" width="1%" summary="Library results">
 
                     <thead>
                       <xsl:call-template name="insert_runners_rows">
@@ -314,14 +313,6 @@
 
                         <xsl:variable name="lib_corner_case_tests" select="meta:order_tests_by_name( $lib_unique_test_names[ @test-name = $lib_corner_case_tests_markup/@name ] ) " />
 
-                        <!-- debug section -->
-
-                        <lib_unique_test_names>
-                          <xsl:for-each select="$lib_unique_test_names">
-                            <test name="{@test-name}"/>
-                          </xsl:for-each>
-                        </lib_unique_test_names>
-   
 
                         <!-- general tests section -->
 
@@ -392,18 +383,24 @@
 
         <xsl:choose>
             <xsl:when test="$log_link != ''">
+                <xsl:text>&#160;&#160;</xsl:text>
                 <a href="{$log_link}" class="log-link" target="_top">
                     <xsl:value-of select="$result"/>
                 </a>
+                <xsl:text>&#160;&#160;</xsl:text>
             </xsl:when>
             <xsl:otherwise>
+                <xsl:text>&#160;&#160;</xsl:text>
                 <xsl:value-of select="$result"/>
+                <xsl:text>&#160;&#160;</xsl:text>
             </xsl:otherwise>
         </xsl:choose>
     </xsl:template>
 
     <!-- report developer status -->
     <xsl:template name="insert_cell_developer">
+        <xsl:param name="library"/>
+        <xsl:param name="toolset"/>
         <xsl:param name="test_log"/>
         <xsl:param name="log_link"/>
         
@@ -415,12 +412,12 @@
 
         <xsl:variable name="class">
         <xsl:choose>
+            <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+                <xsl:text>library-unusable</xsl:text>
+            </xsl:when>
             <xsl:when test="not( $test_log )">
                 <xsl:text>library-missing</xsl:text>
             </xsl:when>
-            <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )">
-                <xsl:text>library-unusable</xsl:text>
-            </xsl:when>
             <xsl:otherwise>
                 <xsl:value-of select="concat( 'library-', $test_log/@result, '-', $test_log/@status, $is_new )"/>
             </xsl:otherwise>
@@ -430,7 +427,7 @@
         <td class="{$class}">
         <xsl:choose>
             <xsl:when test="not( $test_log )">
-                <xsl:text/>
+                <xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
             </xsl:when> 
  
             <xsl:when test="$test_log/@result != 'success' and $test_log/@status = 'expected'">
@@ -469,17 +466,19 @@
 
     <!-- report user status -->
     <xsl:template name="insert_cell_user">
+        <xsl:param name="library"/>
+        <xsl:param name="toolset"/>
         <xsl:param name="test_log"/>
         <xsl:param name="log_link"/>
         
         <xsl:variable name="class">
         <xsl:choose>
+            <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
+            <xsl:text>library-unusable</xsl:text>
+            </xsl:when>
             <xsl:when test="not( $test_log )">
             <xsl:text>library-missing</xsl:text>
             </xsl:when>
-            <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )">
-            <xsl:text>library-unusable</xsl:text>
-            </xsl:when>
             <xsl:when test="$test_log[@result='fail' and @status='unexpected']">
             <xsl:text>library-user-fail-unexpected</xsl:text>
             </xsl:when>
@@ -591,12 +590,16 @@
             <xsl:choose>
             <xsl:when test="$mode='user'">
                 <xsl:call-template name="insert_cell_user">
+                <xsl:with-param name="library" select="$library"/>
+                <xsl:with-param name="toolset" select="$toolset"/>
                 <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
                 <xsl:with-param name="log_link" select="$log_file"/>
                 </xsl:call-template>
             </xsl:when>
             <xsl:when test="$mode='developer'">
                 <xsl:call-template name="insert_cell_developer">
+                <xsl:with-param name="library" select="$library"/>
+                <xsl:with-param name="toolset" select="$toolset"/>
                 <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
                 <xsl:with-param name="log_link" select="$log_file"/>
                 </xsl:call-template>

+ 5 - 4
tools/regression/xsl_reports/xsl/v2/runners.xsl

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  extension-element-prefixes="exsl"
-  version="1.0">
+<xsl:stylesheet 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:exsl="http://exslt.org/common"
+    extension-element-prefixes="exsl"
+    version="1.0">
 
   <xsl:output method="html"/>
 

+ 12 - 7
tools/regression/xsl_reports/xsl/v2/summary_page.xsl

@@ -16,6 +16,7 @@
     xmlns:set="http://exslt.org/sets"
     xmlns:meta="http://www.meta-comm.com"
     extension-element-prefixes="func exsl"
+    exclude-result-prefixes="exsl func set meta"
     version="1.0">
 
     <xsl:import href="common.xsl"/>
@@ -104,7 +105,7 @@
 
             <!-- summary table -->
 
-            <table border="0" cellspacing="0" cellpadding="0" class="summary-table">
+            <table border="0" cellspacing="0" cellpadding="0" width="1%" class="summary-table" summary="Overall summary">
 
             <thead>
                 <xsl:call-template name="insert_runners_rows">
@@ -217,7 +218,7 @@
         <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )">
             <xsl:text>summary-unusable</xsl:text>
         </xsl:when>
-        <xsl:when test="count( $current_cell ) &lt; $expected_test_count">
+        <xsl:when test="count( $current_cell ) = 0">
             <xsl:text>summary-missing</xsl:text>
         </xsl:when>
         <xsl:when test="count( $current_cell[@result='fail' and  @status='unexpected' and @is-new='no'] )">
@@ -243,25 +244,29 @@
     <td class="{$class}">
         <xsl:choose>
         <xsl:when test="$class='summary-unusable'">
+            <xsl:text>&#160;&#160;</xsl:text>
             <a href="{$library_page}.html" class="log-link" target="_top">
-            <xsl:text>n/a</xsl:text>
+                <xsl:text>n/a</xsl:text>
             </a>          
+            <xsl:text>&#160;&#160;</xsl:text>
         </xsl:when>
         <xsl:when test="$class='summary-missing'">
-            <xsl:text>missing</xsl:text>
+            <xsl:text>&#160;&#160;&#160;&#160;</xsl:text>
         </xsl:when>
         <xsl:when test="$class='summary-fail-unexpected'">
             <a href="{$library_page}.html" class="log-link" target="_top">
-            <xsl:text>broken</xsl:text>
+                <xsl:text>broken</xsl:text>
             </a>
         </xsl:when>
         <xsl:when test="$class='summary-fail-unexpected-new' ">
+            <xsl:text>&#160;&#160;</xsl:text>
             <a href="{$library_page}.html" class="log-link" target="_top">
-            <xsl:text>fail</xsl:text>
+                <xsl:text>fail</xsl:text>
             </a>
+            <xsl:text>&#160;&#160;</xsl:text>
         </xsl:when>
         <xsl:otherwise>
-            <xsl:text>OK</xsl:text>
+            <xsl:text>&#160;&#160;OK&#160;&#160;</xsl:text>
         </xsl:otherwise>
         </xsl:choose>
     </td>

粤ICP备19079148号