--- /dev/null
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+xmlns:check="http://check.sourceforge.net/ns">
+
+<xsl:template match="/">
+ <h2>Executed Test Programs</h2>
+ <xsl:for-each select="valgrindresults/valgrindoutput">
+ <xsl:sort select="args/argv/exe"/>
+ <a href="#{generate-id()}"><xsl:value-of select="args/argv/exe"/></a><br/>
+ </xsl:for-each>
+
+ <h2>Errors</h2>
+ <xsl:for-each select="valgrindresults/valgrindoutput">
+ <xsl:sort select="args/argv/exe"/>
+ <a name="{generate-id()}"/>
+ <table border="1">
+ <tr bgcolor="#9acd32">
+ <th align="left"><xsl:value-of select="args/argv/exe"/></th>
+ </tr>
+ <xsl:for-each select="error">
+ <tr>
+ <td><a href="#{generate-id()}">
+ <xsl:choose>
+ <xsl:when test="kind='InvalidRead'">
+ <span style="color:#ff0000"><xsl:value-of select="what"/></span>
+ </xsl:when>
+ <xsl:when test="kind='InvalidWrite'">
+ <span style="color:#ff0000"><xsl:value-of select="what"/></span>
+ </xsl:when>
+ <xsl:when test="kind='InvalidFree'">
+ <span style="color:#ff0000"><xsl:value-of select="what"/></span>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="xwhat"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a></td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ <p/>
+ </xsl:for-each>
+ <h2>Stack frames</h2>
+ <xsl:for-each select="valgrindresults/valgrindoutput/error">
+ <a name="{generate-id()}"/>
+ <b>call stack (<xsl:value-of select="../args/argv/exe"/>): <span style="color:#ff0000"><xsl:value-of select="what"/></span></b>
+ <table border="1" >
+ <tr bgcolor="#9acd32">
+ <th align="left">function</th>
+ <th align="left">file</th>
+ <th align="left">line</th>
+ <th align="left">directory</th>
+ </tr>
+ <xsl:for-each select="stack[1]/frame">
+ <tr>
+ <td><xsl:value-of select="fn"/></td>
+ <td><xsl:value-of select="file"/></td>
+ <td><xsl:value-of select="line"/></td>
+ <td><xsl:value-of select="dir"/></td>
+ </tr>
+ </xsl:for-each>
+ <xsl:apply-templates select="auxwhat"/>
+ <xsl:for-each select="stack[2]/frame">
+ <tr>
+ <td><xsl:value-of select="fn"/></td>
+ <td><xsl:value-of select="file"/></td>
+ <td><xsl:value-of select="line"/></td>
+ <td><xsl:value-of select="dir"/></td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ <p/>
+ </xsl:for-each>
+</xsl:template>
+<xsl:template match="auxwhat">
+<span style="color:#ff0000"><xsl:value-of select="."/> (call stack):</span>
+</xsl:template>
+</xsl:stylesheet>