1 <?xml version="1.0"?> 2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3 <xsl:output method="text" omit-xml-declaration="yes"/> 4 5 <xsl:template match="/"> 6 Coding Style Check Results 7 -------------------------- 8 Total files checked: <xsl:number level="any" value="count(descendant::file)"/> 9 Files with errors: <xsl:number level="any" value="count(descendant::file[error])"/> 10 Total errors: <xsl:number level="any" value="count(descendant::error)"/> 11 Errors per file: <xsl:number level="any" value="count(descendant::error) div count(descendant::file)"/> 12 <xsl:apply-templates/> 13 </xsl:template> 14 15 <xsl:template match="file[error]"> 16 <xsl:apply-templates select="error"/> 17 </xsl:template> 18 19 <xsl:template match="error"> 20 <xsl:value-of select="../@name"/>:<xsl:value-of select="@line"/><xsl:text>: </xsl:text><xsl:value-of select="@message"/><xsl:text> 21 </xsl:text> 22 </xsl:template> 23 24 </xsl:stylesheet>