Hi,
I am trying to create a new report containing data from a file called
coverage.xml ( see part of it below).
I am using the following xsl to get it:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<!-- Main -->
<xsl:template match="/">
<html>
<body>
<h1 align="center">Code Coverage for Qrank Report</h1>
<table align="center" cellpadding="8" cellspacing="0" border="0"
width="98%">
<xsl:apply-templates select="." mode="qrank.view" />
</table>
</body></html>
</xsl:template>
<xsl:template match="/" mode="qrank.view">
<xsl:variable name="fpx.packages.count"
select="count(report/data/all/package[contains(@name,'se.company.product.subsys.boam.fpx')])"/>
<xsl:variable name="main.packages.count"
select="count(report/data/all/package[contains(@name,'se.company.product.subsys.boam.main')])"/>
<xsl:variable name="common.packages.count"
select="count(report/data/all/package[contains(@name,'se.company.product.subsys.boam.common')])"/>
<tr>
<xsl:choose>
<!-- select package fpx -->
<xsl:when
test="report/data/all/package[contains(@name,'se.company.product.subsys.boam.fpx')]">
<xsl:variable name="measure"/>
<!-- get 'coverage' attribute 'value' before % -->
<xsl:with-param name="measure"
select="substring-before(report/data/all/package/coverage[(_at_)type='block,
%']/@value,'%')"/>
Value of fpx: <xsl:value-of select="$measure"/>
</xsl:when>
<!-- select package main -->
<xsl:when
test='contains(@name,"se.company.product.subsys.boam.main")'>
</xsl:when>
<!-- select package common -->
<xsl:when
test='contains(@name,"se.company.product.subsys.boam.common")'>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:template>
</xsl:stylesheet>
When I transform using this template I get:
Result
=====
<html>
<body>
<h1 align="center">Code Coverage for Qrank Report</h1>
<table align="center" cellpadding="8" cellspacing="0" border="0" width="98%">
<tr>
Value of fpx: </tr>
</table>
</body>
</html>
I suspect the following line
substring-before((/report/data/all/package/coverage[(_at_)type='block,
%']/@value),'%')
I have tried the following line in XPath Explorer:
report/data/all/package/coverage[(_at_)type='block, %']/@value
It gives the following result:
* value='0% (0/174)'
* value='15% (28/188)'
* value='25% (109/435)'
......
Then I tried the following in the XPath Explorer:
substring-before((/report/data/all/package/coverage[(_at_)type='block,
%']/@value),'%')
The result is:
0
How can I get the values 0 , 15 and 25 and 'add' the together?
All hints are VERY much appreciated!
//mikael
coverage.xml
=========
<?xml version="1.0" encoding="UTF-8"?><!-- EMMA v2.0.4217 report, generated Fri
Aug 26 09:24:18 MEST 2005 -->
<report>
<stats>
<packages value="44"/>
<classes value="1371"/>
<methods value="8293"/>
<srcfiles value="1356"/>
<srclines value="59524"/>
</stats>
<data>
<all name="all classes">
<coverage type="class, %" value="65% (892/1371)"/>
<coverage type="method, %" value="58% (4789/8293)"/>
<coverage type="block, %" value="53% (146231/274917)"/>
<coverage type="line, %" value="52% (31092.2/59524)"/>
<package name="se.company.product.subsys.boam.fpx.testsignals">
<coverage type="class, %" value="0% (0/2)"/>
<coverage type="method, %" value="0% (0/9)"/>
<coverage type="block, %" value="0% (0/61)"/>
<coverage type="line, %" value="0% (0/27)"/>
</package>
<package name="se.company.product.subsys.boam.mao.dmo.auxdevice.tb.mock">
<coverage type="class, %" value="0% (0/1)"/>
<coverage type="method, %" value="0% (0/10)"/>
<coverage type="block, %" value="0% (0/51)"/>
<coverage type="line, %" value="0% (0/16)"/>
</package>
<package name="se.company.product.subsys.boam.mao.iface.enum">
<coverage type="class, %" value="3% (2/58)"/>
<coverage type="method, %" value="0% (0/58)"/>
<coverage type="block, %" value="0% (0/174)"/>
<coverage type="line, %" value="0% (0/58)"/>
</package>
<package name="se.company.product.subsys.boam.mao.iface.enum.hidden">
<coverage type="class, %" value="0% (0/2)"/>
<coverage type="method, %" value="0% (0/2)"/>
<coverage type="block, %" value="0% (0/6)"/>
<coverage type="line, %" value="0% (0/2)"/>
</package>
<package name="se.company.product.subsys.boam.mao.iface.excep.hidden">
.........
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--