2788N/A<?xml version="1.0" encoding="ISO-8859-1"?>
2788N/A<xsl:stylesheet version="1.0"
2788N/Axmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2788N/A<!--
2788N/A ! CDDL HEADER START
2788N/A !
2788N/A ! The contents of this file are subject to the terms of the
2788N/A ! Common Development and Distribution License, Version 1.0 only
2788N/A ! (the "License"). You may not use this file except in compliance
2788N/A ! with the License.
2788N/A !
2788N/A ! You can obtain a copy of the license at
2788N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
2788N/A ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
2788N/A ! See the License for the specific language governing permissions
2788N/A ! and limitations under the License.
2788N/A !
2788N/A ! When distributing Covered Code, include this CDDL HEADER in each
2788N/A ! file and include the License file at
2788N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
2788N/A ! add the following below this CDDL HEADER, with the fields enclosed
2788N/A ! by brackets "[]" replaced with your own identifying information:
2788N/A ! Portions Copyright [yyyy] [name of copyright owner]
2788N/A !
2788N/A ! CDDL HEADER END
5061N/A !
5429N/A ! Copyright 2008-2009 Sun Microsystems, Inc.
2788N/A ! Portions Copyright 2011 ForgeRock AS
2788N/A ! -->
2788N/A
2788N/A<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
2788N/A
2788N/A<xsl:param name="group">''</xsl:param>
2788N/A
2788N/A<xsl:variable name="groupdir" select="translate($group, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
2788N/A
2788N/A<xsl:template match="/">
2788N/A <xsl:apply-templates select="qa"/>
2788N/A</xsl:template>
5362N/A
5362N/A<xsl:template match="qa">
5362N/A <xsl:apply-templates select="stress-tests"/>
5362N/A <xsl:apply-templates select="functional-tests"/>
5362N/A</xsl:template>
5362N/A
5362N/A<xsl:template match="stress-tests">
5362N/A <xsl:call-template name="main">
5362N/A <xsl:with-param name="tests-type" select="normalize-space('Stress Tests')"/>
5362N/A </xsl:call-template>
5362N/A</xsl:template>
5362N/A
5362N/A<xsl:template match="functional-tests">
5362N/A <xsl:call-template name="main">
5362N/A <xsl:with-param name="tests-type" select="normalize-space('Functional Tests')"/>
5362N/A </xsl:call-template>
5362N/A</xsl:template>
5362N/A
5362N/A<xsl:template name="main">
5362N/A <xsl:param name="tests-type"/>
5362N/A
3361N/A <!--- Test Suites Report Header Variables -->
2788N/A <xsl:variable name="id" select="identification"/>
2788N/A <xsl:variable name="sut" select="$id/sut"/>
2788N/A <xsl:variable name="mailto" select="normalize-space($id/mailto)"/>
2788N/A <xsl:variable name="tests-dir" select="normalize-space($id/tests-dir)"/>
2788N/A <xsl:variable name="url" select="normalize-space($id/tests-url)"/>
2788N/A <xsl:variable name="coverage-url" select="normalize-space($id/coverage-url)"/>
2788N/A <xsl:variable name="productname" select="normalize-space($sut/name)"/>
2788N/A <xsl:variable name="hostname" select="normalize-space($sut/hostname)"/>
2788N/A <xsl:variable name="version" select="normalize-space($sut/version)"/>
2788N/A <xsl:variable name="buildid" select="normalize-space($sut/buildid)"/>
2788N/A <xsl:variable name="revision" select="normalize-space($sut/revision)"/>
2788N/A <xsl:variable name="os" select="normalize-space($sut/os-label)"/>
2788N/A <xsl:variable name="jvm" select="normalize-space($sut/jvm-label)"/>
2788N/A <xsl:variable name="testgroup" select="results/testgroup[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') = $groupdir]"/>
2788N/A <xsl:variable name="testsuite" select="$testgroup/testsuite"/>
2788N/A <xsl:variable name="testcase" select="$testsuite/testcase"/>
2788N/A <xsl:variable name="total-tests" select="count($testcase)"/>
5585N/A <xsl:variable name="pass-tests" select="count($testcase[@result='pass'])"/>
2788N/A <xsl:variable name="fail-tests" select="count($testcase[@result='fail'])"/>
2788N/A <xsl:variable name="inconc-tests" select="count($testcase[@result='unknown'])"/>
3862N/A <xsl:variable name="kfail-tests" select="count($testcase/issues)"/>
3862N/A
3862N/A <xsl:element name="html">
3862N/A
3862N/A <xsl:element name="head">
2788N/A
2788N/A <style type="text/css">
2788N/A/* <![CDATA[ */
2788N/A @import "/branding/css/tigris.css";
2788N/A @import "/branding/css/inst.css";
2788N/A /* ]]> */
2788N/A </style>
2788N/A <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />
2788N/A <link rel="stylesheet" href="/reports/opends.css" type="text/css" />
2788N/A
2788N/A <xsl:element name="title">
3666N/A <xsl:value-of select="concat('Test Suites Report for ',$version)"/>
4865N/A </xsl:element>
5429N/A
2788N/A </xsl:element>
2788N/A
2788N/A <table class="tertmasttable" width="100%" cellspacing="0">
2788N/A <tbody>
2788N/A <tr>
2788N/A <td align="center"><div class="collectionheader"><xsl:value-of select="$tests-type"/></div></td>
2788N/A </tr>
2788N/A </tbody>
2788N/A </table>
2788N/A
2788N/A <table class="tertmasttable" width="100%" cellspacing="0">
2788N/A <tbody>
4458N/A <tr>
4458N/A <td><div class="collectionheader"><xsl:value-of select="concat('Test Suites Report for ',$version)"/></div></td>
2788N/A <td width="10%"><a href="https://www.forgerock.com/"><img src="/reports/opendj_logo.png" alt="OpenDJ Logo" width="104" height="33" border="0" align="middle" /></a> </td>
2788N/A </tr>
4495N/A </tbody>
4495N/A </table>
4495N/A
4495N/A <!-- Overall Test Percentage -->
4495N/A <xsl:variable name="percent-tests">
4495N/A <xsl:choose>
4495N/A <xsl:when test="$total-tests &gt; 0">
4495N/A <xsl:value-of select="round((($pass-tests div $total-tests) * 100) - 0.5)"/>
4495N/A </xsl:when>
4495N/A <xsl:otherwise>
4495N/A <xsl:value-of select="0"/>
5616N/A </xsl:otherwise>
5616N/A </xsl:choose>
4495N/A </xsl:variable>
4495N/A
2788N/A <!-- Shaded Line -->
2788N/A <xsl:element name="hr">
2788N/A <xsl:attribute name="noshade">
2788N/A <xsl:value-of select="'noshade'"/>
2788N/A </xsl:attribute>
5061N/A <xsl:attribute name="size">
5061N/A <xsl:value-of select="1"/>
5061N/A </xsl:attribute>
5061N/A </xsl:element>
5061N/A
5061N/A <!-- Percentage Result -->
5061N/A <xsl:element name="table">
5061N/A <xsl:attribute name="width">
5061N/A <xsl:value-of select="'100%'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:call-template name="setColour">
5061N/A <xsl:with-param name="percent" select="$percent-tests"/>
5061N/A <xsl:with-param name="red" select="'70'"/>
5061N/A <xsl:with-param name="yellow" select="'95'"/>
5061N/A </xsl:call-template>
5061N/A <xsl:element name="tr">
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="font">
5061N/A <xsl:attribute name="size">
2788N/A <xsl:value-of select="'+2'"/>
2788N/A </xsl:attribute>
5061N/A <xsl:value-of select="concat($percent-tests,'%')"/>
4616N/A </xsl:element>
4616N/A </xsl:element>
4616N/A </xsl:element>
2788N/A </xsl:element>
3816N/A
3816N/A <!-- Shaded Line -->
3816N/A <xsl:element name="hr">
3816N/A <xsl:attribute name="noshade">
2788N/A <xsl:value-of select="'noshade'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:attribute name="size">
2788N/A <xsl:value-of select="1"/>
2788N/A </xsl:attribute>
2788N/A </xsl:element>
2788N/A
2788N/A <!-- Identification -->
4458N/A <xsl:element name="table">
4458N/A <xsl:attribute name="width">
5061N/A <xsl:value-of select="'100%'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="tr">
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'Build'"/>
5047N/A </xsl:element>
5047N/A </xsl:element>
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'Revision'"/>
5061N/A </xsl:element>
5061N/A </xsl:element>
5061N/A <xsl:element name="td">
5064N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5047N/A <xsl:element name="b">
5047N/A <xsl:value-of select="'Host'"/>
5061N/A </xsl:element>
5061N/A </xsl:element>
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'Platform'"/>
5061N/A </xsl:element>
5061N/A </xsl:element>
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'JVM'"/>
5061N/A </xsl:element>
5061N/A </xsl:element>
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'Total'"/>
5061N/A </xsl:element>
5061N/A </xsl:element>
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:element name="b">
5061N/A <xsl:value-of select="'Pass'"/>
5047N/A </xsl:element>
4458N/A </xsl:element>
4458N/A <xsl:element name="td">
4458N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
4458N/A </xsl:attribute>
5061N/A <xsl:element name="b">
2788N/A <xsl:value-of select="'Fail'"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="'Inconc'"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="'Kfail'"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="tr">
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$buildid"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$revision"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$hostname"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
4153N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$os"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$jvm"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$total-tests"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$pass-tests"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$fail-tests"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$inconc-tests"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
2788N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="b">
2788N/A <xsl:value-of select="$kfail-tests"/>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A
2788N/A <!-- Shaded Line -->
2788N/A <xsl:element name="hr">
2788N/A <xsl:attribute name="noshade">
2788N/A <xsl:value-of select="'noshade'"/>
3816N/A </xsl:attribute>
2788N/A <xsl:attribute name="size">
3816N/A <xsl:value-of select="1"/>
2788N/A </xsl:attribute>
3816N/A </xsl:element>
3816N/A
3816N/A <xsl:element name="body">
3816N/A
3816N/A <!-- Test Results Table -->
3816N/A <xsl:element name="table">
3816N/A <xsl:attribute name="width">
3816N/A <xsl:value-of select="'100%'"/>
3816N/A </xsl:attribute>
3816N/A <xsl:attribute name="border">
3816N/A <xsl:value-of select="1"/>
3816N/A </xsl:attribute>
3816N/A <xsl:attribute name="cellpadding">
3816N/A <xsl:value-of select="2"/>
3816N/A </xsl:attribute>
3816N/A
3816N/A <xsl:element name="tr">
3816N/A <xsl:attribute name="bgcolor">
3816N/A <xsl:value-of select="'lightblue'"/>
3816N/A </xsl:attribute>
2788N/A
2788N/A <xsl:element name="th">
2788N/A <xsl:value-of select="'Test Suite'"/>
2788N/A </xsl:element>
3816N/A <xsl:element name="th">
4259N/A <xsl:value-of select="'Start Time'"/>
3816N/A </xsl:element>
5540N/A <xsl:element name="th">
5540N/A <xsl:value-of select="'End Time'"/>
5540N/A </xsl:element>
5540N/A <xsl:element name="th">
5540N/A <xsl:value-of select="'Duration'"/>
2788N/A </xsl:element>
2788N/A <xsl:element name="th">
3816N/A <xsl:value-of select="'Total'"/>
3816N/A </xsl:element>
3816N/A <xsl:element name="th">
3816N/A <xsl:value-of select="'Pass'"/>
5540N/A </xsl:element>
5540N/A <xsl:element name="th">
5540N/A <xsl:value-of select="'Fail'"/>
5540N/A </xsl:element>
3816N/A <xsl:element name="th">
3816N/A <xsl:value-of select="'Inconc'"/>
3816N/A </xsl:element>
3816N/A <xsl:element name="th">
3816N/A <xsl:value-of select="'Kfail'"/>
3816N/A </xsl:element>
3816N/A <xsl:element name="th">
3816N/A <xsl:value-of select="'Percent'"/>
3816N/A </xsl:element>
3816N/A
3816N/A </xsl:element>
3816N/A
3816N/A <xsl:for-each select="$testsuite">
3816N/A <xsl:sort select="suite" order="ascending"/>
3816N/A <xsl:variable name="suite" select="@name"/>
3816N/A <xsl:if test="generate-id(.)=generate-id($testsuite[@name = $suite])">
3816N/A
3816N/A <xsl:variable name="all-tests" select="$testcase[@suite = $suite]"/>
3816N/A <xsl:variable name="test-num" select="count($all-tests)"/>
3816N/A <xsl:variable name="test-pass" select="count($all-tests[@result = 'pass'])"/>
3816N/A <xsl:variable name="test-fail" select="count($all-tests[@result = 'fail'])"/>
3816N/A <xsl:variable name="test-inc" select="count($all-tests[@result = 'unknown'])"/>
3816N/A <xsl:variable name="test-kfail" select="count($all-tests[@suite=$suite]/issues)"/>
3816N/A <xsl:variable name="test-percent" select="round((($test-pass div $test-num) * 100) - 0.5)"/>
3816N/A <xsl:variable name="suitename" select="translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
3816N/A
3816N/A <xsl:variable name="end-time">
3816N/A <xsl:for-each select="$all-tests/@stop">
3816N/A
3816N/A <xsl:if test="position() = last()">
3816N/A <xsl:value-of select="."/>
3816N/A </xsl:if>
3816N/A
3816N/A </xsl:for-each>
3816N/A </xsl:variable>
3816N/A
3816N/A <xsl:variable name="duration">
3816N/A <xsl:call-template name="countDuration">
3816N/A <xsl:with-param name="testList" select="$all-tests"/>
2788N/A </xsl:call-template>
3816N/A </xsl:variable>
3816N/A
3816N/A <xsl:element name="tr">
3816N/A <xsl:attribute name="bgcolor">
2788N/A <xsl:choose>
2788N/A <xsl:when test="$test-percent = '100'">
3816N/A <xsl:value-of select="'lightgreen'" />
2788N/A </xsl:when>
3816N/A <xsl:when test="$test-fail = $test-kfail">
3816N/A <xsl:value-of select="'yellow'" />
2788N/A </xsl:when>
2788N/A <xsl:otherwise>
2788N/A <xsl:value-of select="'red'" />
2788N/A </xsl:otherwise>
2788N/A </xsl:choose>
2788N/A </xsl:attribute>
3816N/A
2788N/A <!-- Group Name -->
2788N/A <xsl:element name="td">
3816N/A <xsl:attribute name="align">
4458N/A <xsl:value-of select="'left'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:element name="a">
2788N/A <xsl:attribute name="href">
3816N/A <xsl:value-of select="concat($url,$tests-dir,'/testlogs/',$groupdir,'/',@shortname,'-report.html')"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="@name"/>
3816N/A </xsl:element>
3816N/A </xsl:element>
3816N/A
3816N/A <!-- Start Time -->
3816N/A <xsl:element name="td">
3816N/A <xsl:attribute name="align">
3949N/A <xsl:value-of select="'center'"/>
3949N/A </xsl:attribute>
3949N/A <xsl:value-of select="testcase/@start[1]"/>
3949N/A </xsl:element>
3949N/A
3949N/A <!-- End Time -->
4153N/A <xsl:element name="td">
3949N/A <xsl:attribute name="align">
3949N/A <xsl:value-of select="'center'"/>
3949N/A </xsl:attribute>
4153N/A <xsl:value-of select="$end-time"/>
3949N/A </xsl:element>
3949N/A
2788N/A <!-- Duration -->
2788N/A <xsl:element name="td">
3816N/A <xsl:attribute name="align">
3816N/A <xsl:value-of select="'center'"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="concat($duration,'s')"/>
3816N/A </xsl:element>
3816N/A
3816N/A <!-- Total-->
3816N/A <xsl:element name="td">
3816N/A <xsl:attribute name="align">
3816N/A <xsl:value-of select="'center'"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="$test-num"/>
3816N/A </xsl:element>
3816N/A
5061N/A <!-- Pass -->
3816N/A <xsl:element name="td">
2788N/A <xsl:attribute name="align">
3816N/A <xsl:value-of select="'center'"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="$test-pass"/>
3816N/A </xsl:element>
3816N/A
3816N/A <!-- Fail -->
3816N/A <xsl:element name="td">
3816N/A <xsl:attribute name="align">
3816N/A <xsl:value-of select="'center'"/>
4458N/A </xsl:attribute>
4458N/A <xsl:value-of select="$test-fail"/>
4458N/A </xsl:element>
4458N/A
4458N/A <!-- Inconclusive -->
4458N/A <xsl:element name="td">
4458N/A <xsl:attribute name="align">
4458N/A <xsl:value-of select="'center'"/>
4458N/A </xsl:attribute>
4458N/A <xsl:value-of select="$test-inc"/>
4458N/A </xsl:element>
5334N/A
5334N/A <!-- Kfail -->
4458N/A <xsl:element name="td">
4458N/A <xsl:attribute name="align">
5061N/A <xsl:value-of select="'center'"/>
5061N/A </xsl:attribute>
5061N/A <xsl:value-of select="$test-kfail"/>
5061N/A </xsl:element>
5061N/A
5061N/A <!-- Percent -->
5061N/A <xsl:element name="td">
5061N/A <xsl:attribute name="align">
3816N/A <xsl:value-of select="'center'"/>
2788N/A </xsl:attribute>
2788N/A <xsl:value-of select="concat($test-percent,'%')"/>
2788N/A </xsl:element>
3816N/A
3816N/A </xsl:element>
3816N/A
3816N/A </xsl:if>
3816N/A
3816N/A </xsl:for-each>
3816N/A
3816N/A </xsl:element>
3816N/A
3816N/A <!-- Shaded Line -->
3816N/A <xsl:element name="hr">
3816N/A <xsl:attribute name="noshade">
3816N/A <xsl:value-of select="'noshade'"/>
3816N/A </xsl:attribute>
3816N/A <xsl:attribute name="size">
2788N/A <xsl:value-of select="1"/>
3816N/A </xsl:attribute>
3816N/A </xsl:element>
3816N/A
4116N/A <!-- Additional Information -->
4116N/A <xsl:element name="h2">
4116N/A <xsl:value-of select="'Additional Information'"/>
4116N/A </xsl:element>
4116N/A
3816N/A <xsl:element name="table">
3816N/A <xsl:element name="tr">
3816N/A <xsl:element name="td">
3816N/A <xsl:element name="b">
3816N/A <xsl:value-of select="'Test Archive: '"/>
3816N/A </xsl:element>
3816N/A </xsl:element>
3816N/A <xsl:element name="td">
3816N/A <xsl:element name="a">
3816N/A <xsl:attribute name="href">
3816N/A <xsl:value-of select="concat($url,$tests-dir)"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="concat($url,$tests-dir)"/>
3816N/A </xsl:element>
3816N/A </xsl:element>
3816N/A </xsl:element>
3816N/A <xsl:element name="tr">
3816N/A <xsl:element name="td">
3816N/A <xsl:element name="b">
3816N/A <xsl:value-of select="'Product Identification: '"/>
3816N/A </xsl:element>
3816N/A </xsl:element>
3816N/A <xsl:element name="td">
3816N/A <xsl:element name="a">
3816N/A <xsl:attribute name="href">
3816N/A <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
3816N/A </xsl:attribute>
3816N/A <xsl:value-of select="concat($url,$tests-dir,'/reports/id.html')"/>
3816N/A </xsl:element>
2788N/A </xsl:element>
2788N/A </xsl:element>
2788N/A <xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
<xsl:value-of select="'Coverage: '"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$coverage-url"/>
</xsl:attribute>
<xsl:value-of select="$coverage-url"/>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="tr">
<xsl:element name="td">
<xsl:element name="b">
<xsl:value-of select="'Mail Sent to: '"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('mailto:',normalize-space($mailto))"/>
</xsl:attribute>
<xsl:value-of select="normalize-space($mailto)"/>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
<!-- Shaded Line -->
<xsl:element name="hr">
<xsl:attribute name="noshade">
<xsl:value-of select="'noshade'"/>
</xsl:attribute>
<xsl:attribute name="size">
<xsl:value-of select="1"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template name="countDuration">
<xsl:param name="testList"/>
<xsl:choose>
<xsl:when test="$testList">
<xsl:variable name="recursive_result">
<xsl:call-template name="countDuration">
<xsl:with-param name="testList"
select="$testList[position() > 1]"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of
select="number($testList[1]/@duration) + $recursive_result"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="0"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="setColour">
<xsl:param name="percent"/>
<xsl:param name="red"/>
<xsl:param name="yellow"/>
<xsl:attribute name="bgcolor">
<xsl:choose>
<xsl:when test="$percent &lt; $red">
<xsl:value-of select="'red'" />
</xsl:when>
<xsl:when test="$percent &lt; $yellow">
<xsl:value-of select="'yellow'" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'lightgreen'" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>