diff options
Diffstat (limited to 'cq-configs/checkstyle/checkstyle-html.xsl')
-rw-r--r-- | cq-configs/checkstyle/checkstyle-html.xsl | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/cq-configs/checkstyle/checkstyle-html.xsl b/cq-configs/checkstyle/checkstyle-html.xsl new file mode 100644 index 000000000..e8605ed4a --- /dev/null +++ b/cq-configs/checkstyle/checkstyle-html.xsl @@ -0,0 +1,177 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:output method="html" indent="yes"/> + <xsl:decimal-format decimal-separator="." grouping-separator="," /> + + <xsl:key name="files" match="file" use="@name" /> + + <!-- Checkstyle XML Style Sheet by Stephane Bailliez <sbailliez@apache.org> --> + <!-- Part of the Checkstyle distribution found at http://checkstyle.sourceforge.net --> + <!-- Usage (generates checkstyle_report.html): --> + <!-- <checkstyle failonviolation="false" config="${check.config}"> --> + <!-- <fileset dir="${src.dir}" includes="**/*.java"/> --> + <!-- <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/> --> + <!-- </checkstyle> --> + <!-- <style basedir="${doc.dir}" destdir="${doc.dir}" --> + <!-- includes="checkstyle_report.xml" --> + <!-- style="${doc.dir}/checkstyle-noframes-sorted.xsl"/> --> + + <xsl:template match="checkstyle"> + <html> + <head> + <style type="text/css"> + .bannercell { + border: 0px; + padding: 0px; + } + body { + margin-left: 10; + margin-right: 10; + font:normal 80% arial,helvetica,sanserif; + background-color:#FFFFFF; + color:#000000; + } + .a td { + background: #efefef; + } + .b td { + background: #fff; + } + th, td { + text-align: left; + vertical-align: top; + } + th { + font-weight:bold; + background: #ccc; + color: black; + } + table, th, td { + font-size:100%; + border: none + } + table.log tr td, tr th { + + } + h2 { + font-weight:bold; + font-size:140%; + margin-bottom: 5; + } + h3 { + font-size:100%; + font-weight:bold; + background: #525D76; + color: white; + text-decoration: none; + padding: 5px; + margin-right: 2px; + margin-left: 2px; + margin-bottom: 0; + } + </style> + </head> + <body> + <a name="top"></a> + <!-- jakarta logo --> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr> + <td class="bannercell" rowspan="2"> + <!--a href="http://jakarta.apache.org/"> + <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> + </a--> + </td> + <td class="text-align:right"><h2>CheckStyle Audit</h2></td> + </tr> + <tr> + <td class="text-align:right">Designed for use with <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td> + </tr> + </table> + <hr size="1"/> + + <!-- Summary part --> + <xsl:apply-templates select="." mode="summary"/> + <hr size="1" width="100%" align="left"/> + + <!-- Package List part --> + <xsl:apply-templates select="." mode="filelist"/> + <hr size="1" width="100%" align="left"/> + + <!-- For each package create its part --> + <xsl:apply-templates select="file[@name and generate-id(.) = generate-id(key('files', @name))]" /> + + <hr size="1" width="100%" align="left"/> + + + </body> + </html> + </xsl:template> + + + + <xsl:template match="checkstyle" mode="filelist"> + <h3>Files</h3> + <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> + <tr> + <th>Name</th> + <th>Errors</th> + </tr> + <xsl:for-each select="file[@name and generate-id(.) = generate-id(key('files', @name))]"> + <xsl:sort data-type="number" order="descending" select="count(key('files', @name)/error)"/> + <xsl:variable name="errorCount" select="count(error)"/> + <tr> + <xsl:call-template name="alternated-row"/> + <td><a href="#f-{@name}"><xsl:value-of select="@name"/></a></td> + <td><xsl:value-of select="$errorCount"/></td> + </tr> + </xsl:for-each> + </table> + </xsl:template> + + + <xsl:template match="file"> + <a name="f-{@name}"></a> + <h3>File <xsl:value-of select="@name"/></h3> + + <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> + <tr> + <th>Error Description</th> + <th>Line</th> + </tr> + <xsl:for-each select="key('files', @name)/error"> + <xsl:sort data-type="number" order="ascending" select="@line"/> + <tr> + <xsl:call-template name="alternated-row"/> + <td><xsl:value-of select="@message"/></td> + <td><xsl:value-of select="@line"/></td> + </tr> + </xsl:for-each> + </table> + <a href="#top">Back to top</a> + </xsl:template> + + + <xsl:template match="checkstyle" mode="summary"> + <h3>Summary</h3> + <xsl:variable name="fileCount" select="count(file[@name and generate-id(.) = generate-id(key('files', @name))])"/> + <xsl:variable name="errorCount" select="count(file/error)"/> + <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> + <tr> + <th>Files</th> + <th>Errors</th> + </tr> + <tr> + <xsl:call-template name="alternated-row"/> + <td><xsl:value-of select="$fileCount"/></td> + <td><xsl:value-of select="$errorCount"/></td> + </tr> + </table> + </xsl:template> + + <xsl:template name="alternated-row"> + <xsl:attribute name="class"> + <xsl:if test="position() mod 2 = 1">a</xsl:if> + <xsl:if test="position() mod 2 = 0">b</xsl:if> + </xsl:attribute> + </xsl:template> +</xsl:stylesheet> + |