如何在XSLT中计算测试结果传递百分比

时间:2016-01-06 08:19:59

标签: html xml xslt-1.0

输入是XML文件

<test-results name="project name" total="73" errors="0" failures="43" not-run="0" inconclusive="0" ignored="0" skipped="0" invalid="0" date="2016-01-05" time="20:32:22">
.......
</test-results>

我想计算&#34;没有通过结果&#34;和&#34;通过百分比&#34;。我已经完成了No of pass结果。它工作正常

               <tr>
                <td>Number of Passes</td>
                <td>
                  <xsl:variable name="failures" select="@failures"/>
                  <xsl:variable name="total" select="@total"/>
                  <xsl:choose>
                    <xsl:when test="$failures != ''">
                      <xsl:value-of select="($total - $failures)"/>
                    </xsl:when>
                    <xsl:otherwise>
                      <xsl:value-of select="@total"/>
                    </xsl:otherwise>
                  </xsl:choose>
                </td>
              </tr>

现在我想计算通过百分比(例如: - 87.45%)。我尝试了以下逻辑。但它正在抛出异常

<tr>
        <td>Success Rate</td>
        <td>
          <xsl:variable name="Pass" select="@total - @failures"/>
          <xsl:variable name="totalNo" select="@total"/>
          <xsl:value-of select="($Pass/$totalNo)*100"/>
        </td>
      </tr>

任何人都可以帮我计算通过百分比吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

使用div运算符代替/符号:

<xsl:value-of select="$Pass div $totalNo * 100"/>