1*c33452fbSAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?> 2*c33452fbSAndroid Build Coastguard Worker<xsl:stylesheet 3*c33452fbSAndroid Build Coastguard Worker version="1.0" 4*c33452fbSAndroid Build Coastguard Worker xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 5*c33452fbSAndroid Build Coastguard Worker > 6*c33452fbSAndroid Build Coastguard Worker <xsl:output 7*c33452fbSAndroid Build Coastguard Worker method="xml" 8*c33452fbSAndroid Build Coastguard Worker omit-xml-declaration="yes" 9*c33452fbSAndroid Build Coastguard Worker indent="yes" 10*c33452fbSAndroid Build Coastguard Worker encoding="UTF-8" 11*c33452fbSAndroid Build Coastguard Worker doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 12*c33452fbSAndroid Build Coastguard Worker doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 13*c33452fbSAndroid Build Coastguard Worker xmlns="http://www.w3.org/1999/xhtml" 14*c33452fbSAndroid Build Coastguard Worker /> 15*c33452fbSAndroid Build Coastguard Worker 16*c33452fbSAndroid Build Coastguard Worker <xsl:template match="/CoverageReport"> 17*c33452fbSAndroid Build Coastguard Worker <html lang="en" xml:lang="en"> 18*c33452fbSAndroid Build Coastguard Worker <head> 19*c33452fbSAndroid Build Coastguard Worker <title>Coverage report</title> 20*c33452fbSAndroid Build Coastguard Worker <style type="text/css"> 21*c33452fbSAndroid Build Coastguard Worker <xsl:text disable-output-escaping="yes"> 22*c33452fbSAndroid Build Coastguard Worker .progressbar .percent.excelent { 23*c33452fbSAndroid Build Coastguard Worker background-color: green; 24*c33452fbSAndroid Build Coastguard Worker } 25*c33452fbSAndroid Build Coastguard Worker #tree .element.good > .name, 26*c33452fbSAndroid Build Coastguard Worker .progressbar .percent.good, 27*c33452fbSAndroid Build Coastguard Worker .demo .good { 28*c33452fbSAndroid Build Coastguard Worker background-color: greenyellow; 29*c33452fbSAndroid Build Coastguard Worker } 30*c33452fbSAndroid Build Coastguard Worker #tree .element.nice > .name, 31*c33452fbSAndroid Build Coastguard Worker .progressbar .percent.nice, 32*c33452fbSAndroid Build Coastguard Worker .demo .nice { 33*c33452fbSAndroid Build Coastguard Worker background-color: yellow; 34*c33452fbSAndroid Build Coastguard Worker } 35*c33452fbSAndroid Build Coastguard Worker #tree .element.bad > .name, 36*c33452fbSAndroid Build Coastguard Worker .progressbar .percent.bad, 37*c33452fbSAndroid Build Coastguard Worker .demo .bad { 38*c33452fbSAndroid Build Coastguard Worker background-color: orange; 39*c33452fbSAndroid Build Coastguard Worker } 40*c33452fbSAndroid Build Coastguard Worker #tree .element.critical > .name, 41*c33452fbSAndroid Build Coastguard Worker .progressbar .percent.critical, 42*c33452fbSAndroid Build Coastguard Worker .demo .critical { 43*c33452fbSAndroid Build Coastguard Worker background-color: orangeRed; 44*c33452fbSAndroid Build Coastguard Worker } 45*c33452fbSAndroid Build Coastguard Worker #tree .element input:checked ~ .children { 46*c33452fbSAndroid Build Coastguard Worker display: block !important; 47*c33452fbSAndroid Build Coastguard Worker } 48*c33452fbSAndroid Build Coastguard Worker #tree .element input ~ .children { 49*c33452fbSAndroid Build Coastguard Worker display: none; 50*c33452fbSAndroid Build Coastguard Worker } 51*c33452fbSAndroid Build Coastguard Worker 52*c33452fbSAndroid Build Coastguard Worker table, table td { 53*c33452fbSAndroid Build Coastguard Worker border-width: 1px; 54*c33452fbSAndroid Build Coastguard Worker border-style: solid dotted solid dotted; 55*c33452fbSAndroid Build Coastguard Worker border-color: silver; 56*c33452fbSAndroid Build Coastguard Worker border-collapse: collapse; 57*c33452fbSAndroid Build Coastguard Worker padding-left: 0.2em; 58*c33452fbSAndroid Build Coastguard Worker padding-right: 0.2em; 59*c33452fbSAndroid Build Coastguard Worker } 60*c33452fbSAndroid Build Coastguard Worker .progressbar { 61*c33452fbSAndroid Build Coastguard Worker width: 20em; 62*c33452fbSAndroid Build Coastguard Worker } 63*c33452fbSAndroid Build Coastguard Worker 64*c33452fbSAndroid Build Coastguard Worker .progressbar .percent { 65*c33452fbSAndroid Build Coastguard Worker display: inline-block; 66*c33452fbSAndroid Build Coastguard Worker height: 0.5em; 67*c33452fbSAndroid Build Coastguard Worker vertical-align: middle; 68*c33452fbSAndroid Build Coastguard Worker } 69*c33452fbSAndroid Build Coastguard Worker div.description:nth-of-type(2n+1) { 70*c33452fbSAndroid Build Coastguard Worker background-color: whitesmoke; 71*c33452fbSAndroid Build Coastguard Worker } 72*c33452fbSAndroid Build Coastguard Worker tr:hover { 73*c33452fbSAndroid Build Coastguard Worker background-color: lightyellow; 74*c33452fbSAndroid Build Coastguard Worker } 75*c33452fbSAndroid Build Coastguard Worker </xsl:text> 76*c33452fbSAndroid Build Coastguard Worker </style> 77*c33452fbSAndroid Build Coastguard Worker <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 78*c33452fbSAndroid Build Coastguard Worker </head> 79*c33452fbSAndroid Build Coastguard Worker <body> 80*c33452fbSAndroid Build Coastguard Worker <h1>Coverage report</h1> 81*c33452fbSAndroid Build Coastguard Worker <h2>Summary</h2> 82*c33452fbSAndroid Build Coastguard Worker <table class="summary"> 83*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select=".|*" mode="summary" /> 84*c33452fbSAndroid Build Coastguard Worker </table> 85*c33452fbSAndroid Build Coastguard Worker 86*c33452fbSAndroid Build Coastguard Worker <h2>Legend</h2> 87*c33452fbSAndroid Build Coastguard Worker <p>Colors correspond to:</p> 88*c33452fbSAndroid Build Coastguard Worker <table class="demo"> 89*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="legend-color"> 90*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage">100</xsl:with-param> 91*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="description">Full coverage</xsl:with-param> 92*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 93*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="legend-color"> 94*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage">75</xsl:with-param> 95*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="description"> 96*c33452fbSAndroid Build Coastguard Worker <xsl:text>75%-99% coverage, nice</xsl:text> 97*c33452fbSAndroid Build Coastguard Worker </xsl:with-param> 98*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 99*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="legend-color"> 100*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage">50</xsl:with-param> 101*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="description">Half the way !</xsl:with-param> 102*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 103*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="legend-color"> 104*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage">0</xsl:with-param> 105*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="description">Forgot something ?</xsl:with-param> 106*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 107*c33452fbSAndroid Build Coastguard Worker </table> 108*c33452fbSAndroid Build Coastguard Worker 109*c33452fbSAndroid Build Coastguard Worker <h2>Tree</h2> 110*c33452fbSAndroid Build Coastguard Worker <!-- Warning IE conditional comment. A warning is displayed if using IE, 111*c33452fbSAndroid Build Coastguard Worker as the tree view has been reported not to work on IE7. ("<!" == "<") --> 112*c33452fbSAndroid Build Coastguard Worker <xsl:comment> 113*c33452fbSAndroid Build Coastguard Worker <xsl:text>[if IE]> 114*c33452fbSAndroid Build Coastguard Worker <span class="warning" style="background-color: red;font-weight:bold;" > 115*c33452fbSAndroid Build Coastguard Worker This tree representation has been reported not to work on IE. 116*c33452fbSAndroid Build Coastguard Worker Please use a navigator that respect standards. 117*c33452fbSAndroid Build Coastguard Worker </span> 118*c33452fbSAndroid Build Coastguard Worker <![endif]</xsl:text> 119*c33452fbSAndroid Build Coastguard Worker </xsl:comment> 120*c33452fbSAndroid Build Coastguard Worker <p>Check/Uncheck the checkboxes to fold/unfold.</p> 121*c33452fbSAndroid Build Coastguard Worker <ul class="tree" id="tree"> 122*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="." mode="tree" /> 123*c33452fbSAndroid Build Coastguard Worker </ul> 124*c33452fbSAndroid Build Coastguard Worker 125*c33452fbSAndroid Build Coastguard Worker <h2>Description</h2> 126*c33452fbSAndroid Build Coastguard Worker <div class="descriptions"> 127*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select=".|descendant::*" mode="description" /> 128*c33452fbSAndroid Build Coastguard Worker </div> 129*c33452fbSAndroid Build Coastguard Worker </body> 130*c33452fbSAndroid Build Coastguard Worker </html> 131*c33452fbSAndroid Build Coastguard Worker </xsl:template> 132*c33452fbSAndroid Build Coastguard Worker 133*c33452fbSAndroid Build Coastguard Worker <!--############## 134*c33452fbSAndroid Build Coastguard Worker summary templates 135*c33452fbSAndroid Build Coastguard Worker ##############--> 136*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="summary" match="*"> 137*c33452fbSAndroid Build Coastguard Worker <tr> 138*c33452fbSAndroid Build Coastguard Worker <td> 139*c33452fbSAndroid Build Coastguard Worker <a href="#description-{generate-id(.)}"> 140*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="." mode="summary-name" /> 141*c33452fbSAndroid Build Coastguard Worker </a> 142*c33452fbSAndroid Build Coastguard Worker </td> 143*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="@Coverage" /></td> 144*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="." mode="progress-bar" /> 145*c33452fbSAndroid Build Coastguard Worker </tr> 146*c33452fbSAndroid Build Coastguard Worker </xsl:template> 147*c33452fbSAndroid Build Coastguard Worker 148*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="summary-name" match="/*" > 149*c33452fbSAndroid Build Coastguard Worker <xsl:text>Coverage total average</xsl:text> 150*c33452fbSAndroid Build Coastguard Worker </xsl:template> 151*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="summary-name" match="*"> 152*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="name()" /> 153*c33452fbSAndroid Build Coastguard Worker </xsl:template> 154*c33452fbSAndroid Build Coastguard Worker 155*c33452fbSAndroid Build Coastguard Worker <xsl:template name="legend-color"> 156*c33452fbSAndroid Build Coastguard Worker <xsl:param name="coverage" /> 157*c33452fbSAndroid Build Coastguard Worker <xsl:param name="description" /> 158*c33452fbSAndroid Build Coastguard Worker <tr> 159*c33452fbSAndroid Build Coastguard Worker <td class="coverage"> 160*c33452fbSAndroid Build Coastguard Worker <xsl:attribute name="class"> 161*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="choose-quality"> 162*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage"> 163*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="$coverage" /> 164*c33452fbSAndroid Build Coastguard Worker </xsl:with-param> 165*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 166*c33452fbSAndroid Build Coastguard Worker </xsl:attribute> 167*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="$coverage" /> 168*c33452fbSAndroid Build Coastguard Worker </td> 169*c33452fbSAndroid Build Coastguard Worker <td class="coverage"> 170*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="$description" /> 171*c33452fbSAndroid Build Coastguard Worker </td> 172*c33452fbSAndroid Build Coastguard Worker </tr> 173*c33452fbSAndroid Build Coastguard Worker </xsl:template> 174*c33452fbSAndroid Build Coastguard Worker 175*c33452fbSAndroid Build Coastguard Worker <!-- quality coverage templates --> 176*c33452fbSAndroid Build Coastguard Worker <xsl:template name="quality"> 177*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="choose-quality"> 178*c33452fbSAndroid Build Coastguard Worker <xsl:with-param name="coverage"> 179*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="number(substring-before(@Coverage,'%'))" /> 180*c33452fbSAndroid Build Coastguard Worker </xsl:with-param> 181*c33452fbSAndroid Build Coastguard Worker </xsl:call-template> 182*c33452fbSAndroid Build Coastguard Worker </xsl:template> 183*c33452fbSAndroid Build Coastguard Worker 184*c33452fbSAndroid Build Coastguard Worker <xsl:template name="choose-quality"> 185*c33452fbSAndroid Build Coastguard Worker <xsl:param name="coverage" /> 186*c33452fbSAndroid Build Coastguard Worker <xsl:choose> 187*c33452fbSAndroid Build Coastguard Worker <xsl:when test="$coverage >= 100">excelent</xsl:when> 188*c33452fbSAndroid Build Coastguard Worker <xsl:when test="$coverage >= 75">nice</xsl:when> 189*c33452fbSAndroid Build Coastguard Worker <xsl:when test="$coverage >= 50">bad</xsl:when> 190*c33452fbSAndroid Build Coastguard Worker <xsl:when test="$coverage >= 0">critical</xsl:when> 191*c33452fbSAndroid Build Coastguard Worker <xsl:otherwise /> 192*c33452fbSAndroid Build Coastguard Worker </xsl:choose> 193*c33452fbSAndroid Build Coastguard Worker </xsl:template> 194*c33452fbSAndroid Build Coastguard Worker 195*c33452fbSAndroid Build Coastguard Worker 196*c33452fbSAndroid Build Coastguard Worker <!--############## 197*c33452fbSAndroid Build Coastguard Worker Tree templates 198*c33452fbSAndroid Build Coastguard Worker ##############--> 199*c33452fbSAndroid Build Coastguard Worker 200*c33452fbSAndroid Build Coastguard Worker <!-- Ignore the CriterionState nodes and childrens 201*c33452fbSAndroid Build Coastguard Worker as it add a huge number of unimportant info--> 202*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="tree" match="CriterionStates" /> 203*c33452fbSAndroid Build Coastguard Worker 204*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="tree" match="*"> 205*c33452fbSAndroid Build Coastguard Worker <li id="tree-{generate-id(.)}"> 206*c33452fbSAndroid Build Coastguard Worker 207*c33452fbSAndroid Build Coastguard Worker <xsl:attribute name="class"> 208*c33452fbSAndroid Build Coastguard Worker <xsl:text>element </xsl:text> 209*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="quality" /> 210*c33452fbSAndroid Build Coastguard Worker </xsl:attribute> 211*c33452fbSAndroid Build Coastguard Worker 212*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="." mode="tree-checkbox" /> 213*c33452fbSAndroid Build Coastguard Worker <a class="name description" href="#description-{generate-id(.)}"> 214*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="@Name" /> 215*c33452fbSAndroid Build Coastguard Worker </a> 216*c33452fbSAndroid Build Coastguard Worker 217*c33452fbSAndroid Build Coastguard Worker <xsl:if test="node()"> 218*c33452fbSAndroid Build Coastguard Worker <ul class="children"><xsl:apply-templates select="*" mode="tree" /></ul> 219*c33452fbSAndroid Build Coastguard Worker </xsl:if> 220*c33452fbSAndroid Build Coastguard Worker </li> 221*c33452fbSAndroid Build Coastguard Worker </xsl:template> 222*c33452fbSAndroid Build Coastguard Worker 223*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="tree-checkbox" match="ConfigurableDomain | Criterion"> 224*c33452fbSAndroid Build Coastguard Worker <input class="description" type="checkbox" /> 225*c33452fbSAndroid Build Coastguard Worker </xsl:template> 226*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="tree-checkbox" match="Domains | Criteria"> 227*c33452fbSAndroid Build Coastguard Worker <input class="description" type="checkbox" checked="checked" /> 228*c33452fbSAndroid Build Coastguard Worker </xsl:template> 229*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="tree-checkbox" match="*" /> 230*c33452fbSAndroid Build Coastguard Worker 231*c33452fbSAndroid Build Coastguard Worker <!--#################### 232*c33452fbSAndroid Build Coastguard Worker Description templates 233*c33452fbSAndroid Build Coastguard Worker ####################--> 234*c33452fbSAndroid Build Coastguard Worker <!-- Ignore the CriterionState nodes and childrens 235*c33452fbSAndroid Build Coastguard Worker as it add a huge number of unimportant info--> 236*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="description" match="CriterionStates|CriterionStates//*" /> 237*c33452fbSAndroid Build Coastguard Worker 238*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="description" match="*"> 239*c33452fbSAndroid Build Coastguard Worker <div class="description"> 240*c33452fbSAndroid Build Coastguard Worker <h3 id="description-{generate-id(.)}"> 241*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="@Name" /> 242*c33452fbSAndroid Build Coastguard Worker </h3> 243*c33452fbSAndroid Build Coastguard Worker <p> 244*c33452fbSAndroid Build Coastguard Worker <xsl:text>Path:</xsl:text> 245*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="ancestor::*|." mode="path" /> 246*c33452fbSAndroid Build Coastguard Worker </p> 247*c33452fbSAndroid Build Coastguard Worker <a class="name" href="#tree-{generate-id(.)}"> 248*c33452fbSAndroid Build Coastguard Worker <xsl:text>Back to tree</xsl:text> 249*c33452fbSAndroid Build Coastguard Worker </a> 250*c33452fbSAndroid Build Coastguard Worker <h4>Detail</h4> 251*c33452fbSAndroid Build Coastguard Worker <table> 252*c33452fbSAndroid Build Coastguard Worker <xsl:if test="parent::*"> 253*c33452fbSAndroid Build Coastguard Worker <tr> 254*c33452fbSAndroid Build Coastguard Worker <td>Type</td> 255*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="name()" /></td> 256*c33452fbSAndroid Build Coastguard Worker </tr> 257*c33452fbSAndroid Build Coastguard Worker <tr> 258*c33452fbSAndroid Build Coastguard Worker <td>Parent</td> 259*c33452fbSAndroid Build Coastguard Worker <td> 260*c33452fbSAndroid Build Coastguard Worker <a class="name" href="#description-{generate-id(..)}"> 261*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="../@Name" /> 262*c33452fbSAndroid Build Coastguard Worker </a> 263*c33452fbSAndroid Build Coastguard Worker <xsl:text> (</xsl:text> 264*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="name(..)" /> 265*c33452fbSAndroid Build Coastguard Worker <xsl:text>)</xsl:text> 266*c33452fbSAndroid Build Coastguard Worker </td> 267*c33452fbSAndroid Build Coastguard Worker </tr> 268*c33452fbSAndroid Build Coastguard Worker </xsl:if> 269*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="./@*" mode="description" /> 270*c33452fbSAndroid Build Coastguard Worker </table> 271*c33452fbSAndroid Build Coastguard Worker <xsl:if test="node()"> 272*c33452fbSAndroid Build Coastguard Worker <h4>Children</h4> 273*c33452fbSAndroid Build Coastguard Worker <table> 274*c33452fbSAndroid Build Coastguard Worker <tr> 275*c33452fbSAndroid Build Coastguard Worker <th>Name</th> 276*c33452fbSAndroid Build Coastguard Worker <th>Type</th> 277*c33452fbSAndroid Build Coastguard Worker <th>Coverage</th> 278*c33452fbSAndroid Build Coastguard Worker <th>Nb use</th> 279*c33452fbSAndroid Build Coastguard Worker <th>Coverage progress bar</th> 280*c33452fbSAndroid Build Coastguard Worker </tr> 281*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="*" mode="description-children" /> 282*c33452fbSAndroid Build Coastguard Worker </table> 283*c33452fbSAndroid Build Coastguard Worker </xsl:if> 284*c33452fbSAndroid Build Coastguard Worker </div> 285*c33452fbSAndroid Build Coastguard Worker </xsl:template> 286*c33452fbSAndroid Build Coastguard Worker 287*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="path" match="*"> 288*c33452fbSAndroid Build Coastguard Worker <xsl:text> / </xsl:text> 289*c33452fbSAndroid Build Coastguard Worker <a href="#description-{generate-id(.)}"><xsl:value-of select="@Name" /></a> 290*c33452fbSAndroid Build Coastguard Worker </xsl:template> 291*c33452fbSAndroid Build Coastguard Worker 292*c33452fbSAndroid Build Coastguard Worker <xsl:template match="@*" mode="description"> 293*c33452fbSAndroid Build Coastguard Worker <tr> 294*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="name()" /></td> 295*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="." /></td> 296*c33452fbSAndroid Build Coastguard Worker </tr> 297*c33452fbSAndroid Build Coastguard Worker </xsl:template> 298*c33452fbSAndroid Build Coastguard Worker 299*c33452fbSAndroid Build Coastguard Worker 300*c33452fbSAndroid Build Coastguard Worker <!-- Ignore the CriterionState nodes as it add a huge number of unimportant info--> 301*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="description-children" match="CriterionStates" /> 302*c33452fbSAndroid Build Coastguard Worker 303*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="description-children" match="*"> 304*c33452fbSAndroid Build Coastguard Worker <tr> 305*c33452fbSAndroid Build Coastguard Worker <td><a class="name" href="#description-{generate-id(.)}"> 306*c33452fbSAndroid Build Coastguard Worker <xsl:value-of select="@Name" /> 307*c33452fbSAndroid Build Coastguard Worker </a></td> 308*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="name()" /></td> 309*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="./@*" mode="description-children" /> 310*c33452fbSAndroid Build Coastguard Worker <xsl:apply-templates select="." mode="progress-bar" /> 311*c33452fbSAndroid Build Coastguard Worker </tr> 312*c33452fbSAndroid Build Coastguard Worker </xsl:template> 313*c33452fbSAndroid Build Coastguard Worker 314*c33452fbSAndroid Build Coastguard Worker <xsl:template match="@Name" mode="description-children" /> 315*c33452fbSAndroid Build Coastguard Worker <xsl:template match="@*" mode="description-children"> 316*c33452fbSAndroid Build Coastguard Worker <td><xsl:value-of select="." /></td> 317*c33452fbSAndroid Build Coastguard Worker </xsl:template> 318*c33452fbSAndroid Build Coastguard Worker 319*c33452fbSAndroid Build Coastguard Worker <xsl:template mode="progress-bar" match="*"> 320*c33452fbSAndroid Build Coastguard Worker <td class="progressbar"> 321*c33452fbSAndroid Build Coastguard Worker <span style="width:{@Coverage}"> 322*c33452fbSAndroid Build Coastguard Worker <xsl:attribute name="class"> 323*c33452fbSAndroid Build Coastguard Worker <xsl:text>percent </xsl:text> 324*c33452fbSAndroid Build Coastguard Worker <xsl:call-template name="quality" /> 325*c33452fbSAndroid Build Coastguard Worker </xsl:attribute> 326*c33452fbSAndroid Build Coastguard Worker </span> 327*c33452fbSAndroid Build Coastguard Worker </td> 328*c33452fbSAndroid Build Coastguard Worker </xsl:template> 329*c33452fbSAndroid Build Coastguard Worker</xsl:stylesheet> 330