2006/ws/policy/interop/results dashboard.xsl,NONE,1.1 results.xsd,NONE,1.1 rounds.xml,NONE,1.1 build.xml,NONE,1.1 participants.xsl,NONE,1.1 features.xml,NONE,1.1 dashboard.html,NONE,1.1 dashboard.xml,NONE,1.1 interop-round-step1.xsl,NONE,1.1 interop-round-step2.xsl,NONE,1.1 features.xsl,NONE,1.1 unit-round-step2.xsl,NONE,1.1 unit-round-step1.xsl,NONE,1.1

Update of /sources/public/2006/ws/policy/interop/results
In directory hutz:/tmp/cvs-serv25787/interop/results

Added Files:
	dashboard.xsl results.xsd rounds.xml build.xml 
	participants.xsl features.xml dashboard.html dashboard.xml 
	interop-round-step1.xsl interop-round-step2.xsl features.xsl 
	unit-round-step2.xsl unit-round-step1.xsl 
Log Message:
Web Services Policy 1.5 CR Dashboard and a format for recording interop results.

--- NEW FILE: rounds.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<rounds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="results.xsd">
    <!-- 
    Round 1
    Round 2 WSDL11
    Round 2 WSDL20
    Round 3 WSDL11
    Round 3 WSDL20
    Round 4 Media Type
    Round 4 External Policy Attachment WSDL11
    Round 4 External Policy Attachment WSDL20
    Round 4 UDDI Attachment Interop
    Round 4 UDDI Attachment Unittest
 -->
    <round>
        <name>Round-1</name>
        <label>Round 1 - Unit Test Cases for Normalize, Merge and Intersect</label>
        <description>Round 1 test cases are WS-Policy unit test cases for testing policy normalize,
[...994 lines suppressed...]
            <description>?</description>
        </testcase>
        <testcase>
            <name>U2E3</name>
            <description>?</description>
        </testcase>
        <testcase>
            <name>U3E1</name>
            <description>?</description>
        </testcase>
        <testcase>
            <name>U3E2</name>
            <description>?</description>
        </testcase>
        <testcase>
            <name>U3E3</name>
            <description>?</description>
        </testcase>
    </round>
</rounds>

--- NEW FILE: participants.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:param name="PARTICIPANT-FILE"/>
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <participants>
            <xsl:for-each select="participants/participant">
                <xsl:copy-of select="."/>
            </xsl:for-each>
            <xsl:for-each select="document($PARTICIPANT-FILE)/participant">
                <xsl:call-template name="create-participant"/>
            </xsl:for-each>
        </participants>
    </xsl:template>
    <xsl:template name="create-participant">
        <participant>
            <organization>
                <xsl:value-of select="organization"/>
            </organization>
            <reporter>
            <xsl:for-each select="reporter">
                <xsl:variable name="email" select="email"/>               
                <a href="mailto:{$email}">
                    <xsl:value-of select="name"/>
                </a>
            </xsl:for-each>
            </reporter>
            <implementation>
                <xsl:value-of select="implementation/name"/>, <xsl:value-of select="implementation/version"/>
            </implementation>
            <xsl:for-each select="roundref">
                <xsl:variable name="name" select="."/>
                <xsl:element name="{$name}">Yes</xsl:element>
            </xsl:for-each>
        </participant>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: build.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<project name="cr-dashboard" default="main" basedir=".">
    <path id="saxon8.classpath">
        <pathelement location="../../saxon8/saxon8.jar"/>
    </path>
    <target name="main" depends="clean,validate,tstamp,build-tables,build-dashboard"> </target>
    <target name="tstamp">
        <tstamp/>
        <echo>${DSTAMP}</echo>
        <echo>${TSTAMP}</echo>
        <echo>${TODAY}</echo>
    </target>
    <target name="clean"> </target>
    <target name="validate"> </target>
    <target name="build-tables"
        depends="build-participant-table,build-feature-table,build-round1-table,
        build-round2-wsdl11-table,build-round2-wsdl20-table,build-round3-wsdl11-table,
        build-round3-wsdl20-table, build-round4-uddi-interop-table"> </target>
    <target name="build-dashboard">
        <delete file="dashboard.html"/>
        <xslt style="dashboard.xsl" in="dashboard.xml" out="dashboard.html" destdir=".">
            <param name="DSTAMP" expression="${DSTAMP}"/>
            <param name="TSTAMP" expression="${TSTAMP}"/>
            <param name="TODAY" expression="${TODAY}"/>
        </xslt>
    </target>
    <target name="build-participant-table">
        <delete file="temp-participants.xml"/>
        <xslt style="participants.xsl" in="dashboard.xml" out="temp-participants.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/Microsoft.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/IBM.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/BEA.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/HP.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/webMethods.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/Sun.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/Layer-7.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/Oracle.xml"/>
        </xslt>
        <copy file="temp-participants.xml" tofile="participants-in.xml" overwrite="true"/>
        <xslt style="participants.xsl" in="participants-in.xml" out="temp-participants.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="participants/WSO2.xml"/>
        </xslt>
        <delete file="participants-in.xml"/>
    </target>
    <target name="build-feature-table">
        <delete file="temp-features.xml"/>
        <xslt style="features.xsl" in="features.xml" out="temp-features.xml" destdir="."/>
    </target>
    <target name="build-round1-table">
        <delete file="temp-round1.xml"/>
        <xslt style="unit-round-step1.xsl" in="dashboard.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-BEA.xml"/>
        </xslt>
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round1-in.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-IBM.xml"/>
        </xslt>
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round1-in.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-Layer-7.xml"/>
        </xslt>
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round1-in.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-Microsoft.xml"/>
        </xslt>
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round1-in.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-Sun.xml"/>
        </xslt>
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round1-in.xml" out="temp-round1.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round1/round1-WSO2.xml"/>
        </xslt>
        <!-- add more -->
        <copy file="temp-round1.xml" tofile="round1-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round1.xml"/>
            <arg value="rounds.xml"/>
            <arg value="unit-round-step2.xsl"/>
            <arg value="ROUND=Round-1"/>
            <arg value="STEP1-FILE=round1-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round1-in.xml"/>
    </target>
    <target name="build-round2-wsdl11-table">
        <delete file="temp-round2-wsdl11.xml"/>
        <xslt style="unit-round-step1.xsl" in="dashboard.xml" out="temp-round2-wsdl11.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL11/round2-WSDL11-IBM.xml"/>
        </xslt>
        <copy file="temp-round2-wsdl11.xml" tofile="round2-wsdl11-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round2-wsdl11-in.xml" out="temp-round2-wsdl11.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL11/round2-WSDL11-Layer-7.xml"/>
        </xslt>
        <copy file="temp-round2-wsdl11.xml" tofile="round2-wsdl11-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round2-wsdl11-in.xml" out="temp-round2-wsdl11.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL11/round2-WSDL11-Microsoft.xml"/>
        </xslt>
        <copy file="temp-round2-wsdl11.xml" tofile="round2-wsdl11-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round2-wsdl11-in.xml" out="temp-round2-wsdl11.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL11/round2-WSDL11-Sun.xml"/>
        </xslt>
        <copy file="temp-round2-wsdl11.xml" tofile="round2-wsdl11-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round2-wsdl11-in.xml" out="temp-round2-wsdl11.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL11/round2-WSDL11-WSO2.xml"/>
        </xslt>

        <!-- add more -->
        <copy file="temp-round2-wsdl11.xml" tofile="round2-wsdl11-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round2-wsdl11.xml"/>
            <arg value="rounds.xml"/>
            <arg value="unit-round-step2.xsl"/>
            <arg value="ROUND=Round-2-WSDL11"/>
            <arg value="STEP1-FILE=round2-wsdl11-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round2-wsdl11-in.xml"/>
    </target>

    <target name="build-round2-wsdl20-table">
        <delete file="temp-round2-wsdl20.xml"/>
        <xslt style="unit-round-step1.xsl" in="dashboard.xml" out="temp-round2-wsdl20.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL20/round2-WSDL20-IBM.xml"/>
        </xslt>
        <copy file="temp-round2-wsdl20.xml" tofile="round2-wsdl20-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round2-wsdl20-in.xml" out="temp-round2-wsdl20.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round2/WSDL20/round2-WSDL20-WSO2.xml"/>
        </xslt>
        
        <!-- add more -->
        <copy file="temp-round2-wsdl20.xml" tofile="round2-wsdl20-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round2-wsdl20.xml"/>
            <arg value="rounds.xml"/>
            <arg value="unit-round-step2.xsl"/>
            <arg value="ROUND=Round-2-WSDL20"/>
            <arg value="STEP1-FILE=round2-wsdl20-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round2-wsdl20-in.xml"/>
    </target>
    
    <target name="build-round3-wsdl11-table">
        <delete file="temp-round3-wsdl11.xml"/>
        <xslt style="interop-round-step1.xsl" in="dashboard.xml" out="temp-round3-wsdl11.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL11/round3-WSDL11-IBM.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round3-wsdl11-in.xml" out="temp-round3-wsdl11.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL11/round3-WSDL11-Layer-7.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round3-wsdl11-in.xml" out="temp-round3-wsdl11.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL11/round3-WSDL11-Microsoft.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round3-wsdl11-in.xml" out="temp-round3-wsdl11.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL11/round3-WSDL11-Sun.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round3-wsdl11-in.xml" out="temp-round3-wsdl11.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL11/round3-WSDL11-WSO2.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <!-- add more -->
        <copy file="temp-round3-wsdl11.xml" tofile="round3-wsdl11-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round3-wsdl11.xml"/>
            <arg value="rounds.xml"/>
            <arg value="interop-round-step2.xsl"/>
            <arg value="ROUND=Round-3-WSDL11"/>
            <arg value="STEP1-FILE=round3-wsdl11-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round3-wsdl11-in.xml"/>
    </target>
    <target name="build-round3-wsdl20-table">
        <delete file="temp-round3-wsdl20.xml"/>
        <xslt style="interop-round-step1.xsl" in="dashboard.xml" out="temp-round3-wsdl20.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL20/round3-WSDL20-IBM.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl20.xml" tofile="round3-wsdl20-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round3-wsdl20-in.xml" out="temp-round3-wsdl20.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round3/WSDL20/round3-WSDL20-WSO2.xml"/>
        </xslt>
        <copy file="temp-round3-wsdl20.xml" tofile="round3-wsdl20-in.xml" overwrite="true"/>
        <!-- add more -->
        <copy file="temp-round3-wsdl20.xml" tofile="round3-wsdl20-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round3-wsdl20.xml"/>
            <arg value="rounds.xml"/>
            <arg value="interop-round-step2.xsl"/>
            <arg value="ROUND=Round-3-WSDL20"/>
            <arg value="STEP1-FILE=round3-wsdl20-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round3-wsdl20-in.xml"/>
    </target>
    <target name="build-round4-uddi-interop-table">
        <delete file="temp-round4-uddi-interop.xml"/>
        <xslt style="interop-round-step1.xsl" in="dashboard.xml" out="temp-round4-uddi-interop.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-HP.xml"/>
        </xslt>
        <copy file="temp-round4-uddi-interop.xml" tofile="round4-uddi-interop-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round4-uddi-interop-in.xml" out="temp-round4-uddi-interop.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-Layer-7.xml"/>
        </xslt>
        <copy file="temp-round4-uddi-interop.xml" tofile="round4-uddi-interop-in.xml" overwrite="true"/>
        <xslt style="interop-round-step1.xsl" in="round4-uddi-interop-in.xml" out="temp-round4-uddi-interop.xml"
            destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-webMethods.xml"/>
        </xslt>
        <copy file="temp-round4-uddi-interop.xml" tofile="round4-uddi-interop-in.xml" overwrite="true"/>
        <!-- add more -->
        <copy file="temp-round4-uddi-interop.xml" tofile="round4-uddi-interop-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round4-uddi-interop.xml"/>
            <arg value="rounds.xml"/>
            <arg value="interop-round-step2.xsl"/>
            <arg value="ROUND=Round-4-UDDI-Attachment-Interop"/>
            <arg value="STEP1-FILE=round4-uddi-interop-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round4-uddi-interop-in.xml"/>
    </target>
    
    <target name="build-round4-uddi-unittest-table">
        <delete file="temp-round4-uddi-unittest.xml"/>
        <xslt style="unit-round-step1.xsl" in="dashboard.xml" out="temp-round4-uddi-unittest.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-HP.xml"/>
        </xslt>
        <copy file="temp-round4-uddi-unittest.xml" tofile="round4-uddi-unittest-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round4-uddi-unittest-in.xml" out="temp-round4-uddi-unittest.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-Layer-7.xml"/>
        </xslt>
        <copy file="temp-round4-uddi-unittest.xml" tofile="round4-uddi-unittest-in.xml" overwrite="true"/>
        <xslt style="unit-round-step1.xsl" in="round4-uddi-unittest-in.xml" out="temp-round4-uddi-unittest.xml" destdir=".">
            <param name="PARTICIPANT-FILE" expression="round4/UDDI/round4-UDDI-webMethods.xml"/>
        </xslt>        
        <!-- add more -->
        <copy file="temp-round4-uddi-unittest.xml" tofile="round4-uddi-unittest-in.xml" overwrite="true"/>
        <echo message="copied"/>
        <java fork="true" classname="net.sf.saxon.Transform" maxmemory="512m">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="temp-round4-uddi-unittest.xml"/>
            <arg value="rounds.xml"/>
            <arg value="unit-round-step2.xsl"/>
            <arg value="ROUND=Round-4-UDDI-Attachment-Unittest"/>
            <arg value="STEP1-FILE=round4-uddi-unittest-in.xml"/>
        </java>
        <echo message="copied"/>
        <delete file="round4-uddi-unittest-in.xml"/>
    </target>
</project>

--- NEW FILE: unit-round-step2.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:param name="ROUND"/>
    <xsl:param name="STEP1-FILE"/>
    <xsl:template match="/">
        <xsl:message>
            <xsl:text>Step2</xsl:text>
        </xsl:message>
        <xsl:for-each select="rounds/round">
            <xsl:if test="name=$ROUND">
                <round>
                    <name>
                        <xsl:value-of select="name"/>
                    </name>
                    <label>
                        <xsl:value-of select="label"/>
                    </label>
                    <description>
                        <xsl:value-of select="description"/>
                    </description>
                    <xsl:for-each select="document($STEP1-FILE)/results/participantref">
                        <xsl:copy-of select="."/>
                    </xsl:for-each>
                    <xsl:for-each select="testcase">
                        <testcase>
                            <xsl:variable name="testcase" select="name"/>
                            <name>
                                <xsl:value-of select="name"/>
                            </name>
                            <description>
                                <xsl:value-of select="description"/>
                            </description>
                            <xsl:for-each select="document($STEP1-FILE)/results/result">
                                <xsl:if test="$testcase=testcaseref">
                                    <xsl:for-each select="participantref">
                                        <xsl:variable name="participantref" select="."/>
                                        <xsl:element name="{$participantref}">
                                            <xsl:value-of select="../passed"/>
                                        </xsl:element>
                                    </xsl:for-each>
                                </xsl:if>
                            </xsl:for-each>
                        </testcase>
                    </xsl:for-each>
                </round>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: unit-round-step1.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:param name="PARTICIPANT-FILE"/>
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <results>
            <xsl:for-each select="results/participantref">
                <xsl:copy-of select="."/>
            </xsl:for-each>
            <xsl:for-each select="document($PARTICIPANT-FILE)/results/participantref">
                <participantref><xsl:value-of select="."/></participantref>
            </xsl:for-each>
            <xsl:for-each select="results/result">
                <xsl:copy-of select="."/>
            </xsl:for-each>
            <xsl:for-each select="document($PARTICIPANT-FILE)/results/result">
                <xsl:call-template name="create-result"/>
            </xsl:for-each>
        </results>
    </xsl:template>
    <xsl:template name="create-result">
        <result>
            <testcaseref>
                <xsl:value-of select="testcaseref"/>
            </testcaseref>
            <passed>
                <xsl:value-of select="passed"/>
            </passed>
            <participantref>
                <xsl:value-of select="../participantref"/>
            </participantref>
        </result>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: dashboard.xml ---
<?xml version="1.0" encoding="UTF-8"?>
<dashboard></dashboard>

--- NEW FILE: features.xml ---
<features xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="results.xsd">
    <feature>
        <name>Policy expression - normal form</name>
        <location>
            <section>P 4.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Normal_Form_Policy_Expression</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy expression - normal form with nested policy expression</name>
        <location>
            <section>P 4.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Normal_Form_Policy_Expression</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy expression - wsu:Id attribute</name>
        <location>
            <section>P 4.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy expression - xml:id attribute</name>
        <location>
            <section>P 4.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy expression - Name attribute</name>
        <location>
            <section>P 4.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - optional policy assertions</name>
        <location>
            <section>P 4.3.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - nested policy expression</name>
        <location>
            <section>P 4.3.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - policy operator - Policy</name>
        <location>
            <section>P 4.3.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - policy operator - All</name>
        <location>
            <section>P 4.3.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - policy operator - ExactlyOne</name>
        <location>
            <section>P 4.3.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Identification</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Compact form - policy references</name>
        <location>
            <section>P 4.3.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_References</URI>
        </location>
        <testcaseref></testcaseref>
    </feature>
    <feature>
        <name>Policy inclusion (expression identified by an ID)</name>
        <location>
            <section>P 4.3.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Inclusion</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy inclusion (external policy expression)</name>
        <location>
            <section>P 4.3.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Inclusion</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Normalize</name>
        <location>
            <section>P 4.3.6</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#normalization</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Ignorable policy assertions</name>
        <location>
            <section>P 4.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#ignorable-policy-assertions</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy intersection – strict mode</name>
        <location>
            <section>P 4.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Intersection</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy intersection – lax mode</name>
        <location>
            <section>P 4.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Intersection</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Policy expression + XML Base</name>
        <location>
            <section>P 4.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#Policy_Intersection</URI>
        </location>
        <testcaseref>R1T28</testcaseref>
    </feature>
    <feature>
        <name>application/wspolicy+xml media type</name>
        <location>
            <section>P Appendix A</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-20070228/#media-type</URI>
        </location>
        <testcaseref>R4MediaType</testcaseref>
    </feature>
    <feature>
        <name>External Policy Attachment: URI domain expression + IRI References for WSDL 20 Components</name>
        <location>
            <section>PA 3.4.1</section>
            <URI>http://www.w3.org/TR/ws-policy-attach/#uri-domain-expression</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>External Policy Attachment: URI domain expression + WSDL 11 Element Identifiers</name>
        <location>
            <section>PA 3.4.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#uri-domain-expression</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of a service policy subject</name>
        <location>
            <section>PA 4.1.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#ServicePolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of an endpoint policy subject</name>
        <location>
            <section>PA 4.1.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#EndpointPolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of an operation policy subject</name>
        <location>
            <section>PA 4.1.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#OperationPolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of an input message policy subject</name>
        <location>
            <section>PA 4.1.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#MessagePolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of an output message policy subject</name>
        <location>
            <section>PA 4.1.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#MessagePolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL11: Effective policy of a fault message policy subject</name>
        <location>
            <section>PA 4.1.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#MessagePolicySubject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of a service policy subject</name>
        <location>
            <section>PA 5.4.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#service-policy-subject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of an endpoint policy subject</name>
        <location>
            <section>PA 5.4.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#endpoint-policy-subject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of an operation policy subject</name>
        <location>
            <section>PA 5.4.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#operation-policy-subject</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of an input message policy subject</name>
        <location>
            <section>PA 5.4.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#message-policy-subject-input</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of an output message policy subject</name>
        <location>
            <section>PA 5.4.5</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#message-policy-subject-output</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>WSDL20: Effective policy of an input/output fault message policy subject</name>
        <location>
            <section>PA 5.4.6 and PA 5.4.7</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#message-policy-subject-input-fault</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Effective policy of a service provider policy subject</name>
        <location>
            <section>PA 6.1.1</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#ServiceProviderPolicySubjectUDDI</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Effective policy of a service policy subject</name>
        <location>
            <section>PA 6.1.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#ServicePolicySubjectUDDI</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Effective policy of an endpoint policy subject</name>
        <location>
            <section>PA 6.1.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#EndpointPolicySubjectUDDI</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Referencing remote policy expressions</name>
        <location>
            <section>PA 6.2</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#ReferencingRemotePolicyExpressions</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Registering reusable policy expressions</name>
        <location>
            <section>PA 6.3</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#RegisteringReusablePolicyExpressions</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>UDDI: Registering policies in UDDI V3</name>
        <location>
            <section>PA 6.4</section>
            <URI>http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#RegisteringPoliciesUDDIVersion3</URI>
        </location>
        <testcaseref/>
    </feature>
    <feature>
        <name>Negative Test Cases</name>
        <location>
            <section></section>
            <URI></URI>
        </location>
        <testcaseref/>
    </feature>   
</features>
--- NEW FILE: results.xsd ---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="features" type="featuresType"/>
    <xs:complexType name="featuresType">
        <xs:sequence>
            <xs:element ref="feature" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="feature" type="featureType"/>
    <xs:complexType name="featureType">
        <xs:sequence>
            <xs:element ref="name"/>
            <xs:element ref="location"/>
            <xs:element ref="testcaseref" maxOccurs="unbounded"/>
            <xs:element ref="notes" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="location" type="locationType"/>
    <xs:complexType name="locationType">
        <xs:sequence>
            <xs:element ref="section"/>
            <xs:element ref="URI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="section" type="xs:string"/>
    <xs:element name="URI" type="xs:anyURI"/>
    <xs:element name="testcaseref" type="xs:anyURI"/>
    <xs:element name="notes" type="xs:string"/>
    <xs:element name="rounds" type="roundsType">
        <xs:unique name="round-name">
            <xs:selector xpath="round"/>
            <xs:field xpath="name"/>
        </xs:unique>
        <xs:unique name="testcase-name">
            <xs:selector xpath="round/testcase"/>
            <xs:field xpath="name"/>
        </xs:unique>
    </xs:element>
    <xs:complexType name="roundsType">
        <xs:sequence>
            <xs:element ref="round" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="round" type="roundType"/>
    <xs:complexType name="roundType">
        <xs:sequence>
            <xs:element ref="name"/>
            <xs:element ref="label"/>
            <xs:element ref="description"/>
            <xs:element ref="type"/>
            <xs:element ref="testcase" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="label" type="xs:string"/>
    <xs:element name="description" type="xs:string"/>
    <xs:element name="testcases" type="testcasesType"/>
    <xs:complexType name="testcasesType">
        <xs:sequence>
            <xs:element ref="testcase" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="testcase" type="testcaseType"/>
    <xs:complexType name="testcaseType">
        <xs:sequence>
            <xs:element ref="name"/>
            <xs:element ref="description"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="type" type="typeType"/>
    <xs:simpleType name="typeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Unit"/>
            <xs:enumeration value="Interop"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="participant" type="participationType"/>
    <xs:complexType name="participationType">
        <xs:sequence>
            <xs:element ref="organization"/>
            <xs:element ref="reporter" maxOccurs="unbounded"/>
            <xs:element ref="implementation" maxOccurs="unbounded"/>
            <xs:element ref="roundref" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="organization" type="xs:string"/>
    <xs:element name="reporter" type="reporterType"/>
    <xs:element name="implementation" type="implementationType"/>
    <xs:element name="roundref" type="roundrefType"/>
    <xs:complexType name="reporterType">
        <xs:sequence>
            <xs:element ref="name"/>
            <xs:element ref="email"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="email" type="emailType"/>
    <xs:simpleType name="emailType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^@]+@[^\.]+\..+"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="implementationType">
        <xs:sequence>
            <xs:element ref="name"/>
            <xs:element ref="version"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="version" type="xs:string"/>
    <xs:simpleType name="roundrefType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Round-1"/>
            <xs:enumeration value="Round-2-WSDL11"/>
            <xs:enumeration value="Round-2-WSDL20"/>
            <xs:enumeration value="Round-3-WSDL11"/>
            <xs:enumeration value="Round-3-WSDL20"/>
            <xs:enumeration value="Round-4-Media-Type"/>
            <xs:enumeration value="Round-4-External-Policy-Attachment-WSDL11"/>
            <xs:enumeration value="Round-4-External-Policy-Attachment-WSDL20"/>
            <xs:enumeration value="Round-4-UDDI-Attachment-Interop"/>
            <xs:enumeration value="Round-4-UDDI-Attachment-Unittest"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="results" type="resultsType">
        <!--<xs:unique name="testcaseref">
            <xs:selector xpath="result"/>
            <xs:field xpath="testcaseref"/>
        </xs:unique>
        <xs:unique name="providerref">
            <xs:selector xpath="result"/>
            <xs:field xpath="testcaseref"/>
            <xs:field xpath="provider"/>
        </xs:unique>-->
    </xs:element>
    <xs:complexType name="resultsType">
        <xs:sequence>
            <xs:element ref="participantref"/>
            <xs:element ref="endpoints" minOccurs="0"/>
            <xs:element ref="result" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="participantref" type="participantrefType"/>
    <xs:simpleType name="participantrefType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="BEA"/>
            <xs:enumeration value="IBM"/>
            <xs:enumeration value="HP"/>
            <xs:enumeration value="Layer-7"/>
            <xs:enumeration value="Microsoft"/>
            <xs:enumeration value="Oracle"/>
            <xs:enumeration value="Sun"/>
            <xs:enumeration value="webMethods"/>
            <xs:enumeration value="WSO2"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="endpoints" type="endpointsType"/>
    <xs:complexType name="endpointsType">
        <xs:sequence>
            <xs:element ref="endpoint" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="endpoint" type="endpointType"/>
    <xs:complexType name="endpointType">
        <xs:sequence>
            <xs:element ref="label"/>
            <xs:element ref="URI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="result" type="resultType"/>
    <xs:complexType name="resultType">
        <xs:sequence>
            <xs:element ref="testcaseref"/>
            <xs:element ref="provider" minOccurs="0"/>
            <xs:element ref="passed"/>
            <xs:element ref="notes" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="provider" type="participantrefType"/>
    <xs:element name="passed" type="passedType"/>
    <xs:simpleType name="passedType">
        <xs:union memberTypes="xs:boolean">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="tbd"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
</xs:schema>

--- NEW FILE: dashboard.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:param name="DSTAMP"/>
    <xsl:param name="TSTAMP"/>
    <xsl:param name="TODAY"/>
    <xsl:output method="html" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <title>Web Services Policy 1.5 CR Dashboard</title>
                <link rel="stylesheet" type="text/css"
                    href="http://www.w3.org/Guide/pubrules-style.css"/>
                <link rel="stylesheet" type="text/css"
                    href="http://www.w3.org/2006/02/charter-style.css"/>
                <style type="text/css"> body {font-family:sans-serif} td {vertical-align:top}
                    .passed {background-color:green} .failed {background-color:orange} .disaster
                    {background-color:red} .border th, .border td { border: 1px solid black;
                    padding: 0.5ex } .border th { background: #ccc } .good { background: green }
                    .bad { background: red } .group {background-color:#DDD} .heading
                    {font-weight:bold; white-space: nowrap} .explanatory {font-size:smaller}
                </style>
            </head>
            <body>
                <p class="navicons"><a href="../../../"><img src="http://www.w3.org/Icons/w3c_home"
                    alt="W3C" height="48" width="72" /> </a><xsl:text>  </xsl:text><a
                        href="http://www.w3.org/Architecture/"><img src="http://www.w3.org/Icons/arch"
                            alt="Architecture Domain" height="48" width="212" /> </a><xsl:text>  </xsl:text><a href="http://www.w3.org/2002/ws/"><img
                                src="http://www.w3.org/2002/ws/3/04/diags/wsa.png" width="192" height="48"
                                alt="Web Services Activity" /> </a></p>
                
                <p class="navlinks"><a href="http://www.w3.org/2002/ws/policy">About Web Services Policy WG</a></p>
                <h1>Web Services Policy 1.5 CR Dashboard</h1>
                <xsl:if test="$TODAY">
                    <address>
                        <xsl:text>Generated </xsl:text>
                        <xsl:value-of select="$TODAY"/>,
                        <xsl:value-of select="$TSTAMP"/>
                    </address>
                </xsl:if>
                <p class="explanatory">The dashboard summarizes the results of unit and interop
                    testing of the <a href="http://www.w3.org/TR/ws-policy">Web Services Policy 1.5
                        - Framework</a> and <a href="http://www.w3.org/TR/ws-policy-attach">Web
                        Services Policy 1.5 - Attachment</a> specifications, in fulfillment of the
                    CR exit criteria (<a
                        href="http://www.w3.org/TR/2007/CR-ws-policy-20070228/#status">Framework</a>
                    and <a href="http://www.w3.org/TR/2007/CR-ws-policy-attach-20070228/#status"
                        >Attachment</a>). <a
                        href="http://dev.w3.org/cvsweb/~checkout~/2006/ws/policy/interop/">Interop
                        scenarios and test files</a> are on the W3C CVS archive. </p>
                <p></p>
                <hr color="#C0C0C0"></hr>
                <h2 id="implementers">Implementers</h2>
                <p>Testing is based on implementations (in alphabetical order) from:</p>
                <h4>Table 1: List of CR Participants</h4>
                <table border="2" bordercolorlight="#000000"
                    bordercolordark="#000000" style="border-collapse: collapse" cellpadding="5">
                    <tr>
                        <td>Organization</td>
                        <td>Reporter</td>
                        <td>Implementation</td>
                        <xsl:for-each select="document('rounds.xml')/rounds/round">
                            <xsl:call-template name="generate-column-with-hyperlink">
                                <xsl:with-param name="name"><xsl:value-of select="name"/></xsl:with-param>
                            </xsl:call-template>
                        </xsl:for-each>
                    </tr>
                    <xsl:for-each select="document('temp-participants.xml')/participants/participant">
                        <xsl:sort select="organization"/>
                        <xsl:call-template name="generate-participant-rows"/>
                    </xsl:for-each>
                </table>
                <p></p>
                <hr color="#C0C0C0"></hr>
                <h2>Features and Test Coverage</h2>
                <p>The following table enumerates features in the Framework and Attachment drafts,
                    identifies features that are covered by the test (s) &amp; any on-going test
                    (s) development <span style="background-color: #FFFFFF">(marked in </span>
                    <span style="background-color: #FFFF00">yellow</span>) and highlights features
                    without any test coverage (marked in <span style="background-color: #FF0000"
                    >red</span>).</p>
                <h4 id="features">Table 2: List of Features and Test Coverage</h4>
                <table border="2" bordercolorlight="#000000" bordercolordark="#000000"
                    style="border-collapse: collapse" cellpadding="5">
                    <tr>
                        <td>Serial</td>
                        <td>Section Number</td>
                        <td>Feature</td>
                        <td>Test Case (s)</td>
                        <td>Notes</td>
                    </tr>
                    <xsl:for-each select="document('temp-features.xml')/features/feature">
                        <xsl:call-template name="generate-rows"/>
                    </xsl:for-each>
                </table>
                
                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round1.xml')/round">
                    <xsl:call-template name="generate-unittest-summary">
                        <xsl:with-param name="table-number">3</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>
                
                <p></p>
                <hr color="#C0C0C0"></hr>

                <xsl:for-each select="document('temp-round2-wsdl11.xml')/round">
                    <xsl:call-template name="generate-unittest-summary">
                        <xsl:with-param name="table-number">4</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>

                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round2-wsdl20.xml')/round">
                    <xsl:call-template name="generate-unittest-summary">
                        <xsl:with-param name="table-number">5</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>

                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round3-wsdl11.xml')/round">
                    <xsl:call-template name="generate-interoptest-summary">
                        <xsl:with-param name="table-number">6</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>

                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round3-wsdl20.xml')/round">
                    <xsl:call-template name="generate-interoptest-summary">
                        <xsl:with-param name="table-number">11</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>
    
                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <!-- insert for Round-4-Media-Type-->
                <h2 id="Round-4-Media-Type">Round-4-Media-Type - To Be Auto Generated</h2>
                <p></p>
                <hr color="#C0C0C0"></hr>
                <!-- insert for Round-4-External-Policy-Attachment-WSDL11-->
                <h2 id="Round-4-External-Policy-Attachment-WSDL11">Round-4-External-Policy-Attachment-WSDL11 - To Be Auto Generated</h2>
                <p></p>
                <hr color="#C0C0C0"></hr>
                <!-- insert for Round-4-External-Policy-Attachment-WSDL20-->
                <h2 id="Round-4-External-Policy-Attachment-WSDL20">Round-4-External-Policy-Attachment-WSDL20 - To Be Auto Generated</h2>
                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round4-uddi-interop.xml')/round">
                    <xsl:call-template name="generate-interoptest-summary">
                        <xsl:with-param name="table-number">16</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>
                
                <p></p>
                <hr color="#C0C0C0"></hr>
                
                <xsl:for-each select="document('temp-round4-uddi-unittest.xml')/round">
                    <xsl:call-template name="generate-unittest-summary">
                        <xsl:with-param name="table-number">31</xsl:with-param>
                    </xsl:call-template>                    
                </xsl:for-each>
            </body>
        </html>
    </xsl:template>

    <xsl:template name="generate-column">
        <xsl:param name="name"/>
        <td>{$name}</td> 
    </xsl:template>
    <xsl:template name="generate-column-with-hyperlink">
        <xsl:param name="name"/>
        <td><a href="#{$name}"><xsl:value-of select="$name"/></a></td> 
    </xsl:template>
    
    <xsl:template name="generate-rows">
        <tr>
        <xsl:for-each select="child::*">
        <td><xsl:copy-of select="."/></td>    
        </xsl:for-each>
        </tr>
    </xsl:template>
    <xsl:template name="generate-summary"/>
    
    <xsl:template name="generate-participant-rows">
        <tr>
            <xsl:variable name="organization" select="organization"/>
            <td id="{$organization}"><xsl:value-of select="organization"/></td>
            <td><xsl:copy-of select="reporter"/></td>
            <td><xsl:value-of select="implementation"/></td>
            <td><xsl:value-of select="Round-1"/></td>
            <td><xsl:value-of select="Round-2-WSDL11"/></td>
            <td><xsl:value-of select="Round-2-WSDL20"/></td>
            <td><xsl:value-of select="Round-3-WSDL11"/></td>
            <td><xsl:value-of select="Round-3-WSDL20"/></td>
            <td><xsl:value-of select="Round-4-Media-Type"/></td>
            <td><xsl:value-of select="Round-4-External-Policy-Attachment-WSDL11"/></td>
            <td><xsl:value-of select="Round-4-External-Policy-Attachment-WSDL20"/></td>
            <td><xsl:value-of select="Round-4-UDDI-Attachment-Interop"/></td>
            <td><xsl:value-of select="Round-4-UDDI-Attachment-Unittest"/></td>
        </tr>        
    </xsl:template>
    
    <xsl:template name="generate-unittest-summary">
        <xsl:param name="table-number"/>
        <xsl:variable name="name" select="name"/>               
        <h2 id="{$name}"><xsl:value-of select="label"/></h2>
        <p><xsl:value-of select="description"/> The following table enumerates 
            results from implementers based on running these unit tests. Green indicates a 
            successful outcome, red indicates a failure and no color indicates 'no claims'.</p>
        <h4>Table <xsl:value-of select="$table-number"/>: Results from <xsl:value-of select="$name"/> Testing</h4>
        <table border="2" bordercolorlight="#000000" bordercolordark="#000000"
            style="border-collapse: collapse" cellpadding="5">
            <tr>
                <td>Name</td>
                <td>Description</td>
                <xsl:for-each select="participantref">
                    <xsl:call-template name="generate-column-with-hyperlink">
                        <xsl:with-param name="name"><xsl:value-of select="."/></xsl:with-param>
                    </xsl:call-template>
                </xsl:for-each>
            </tr>
            <xsl:for-each select="testcase">
                <tr>
                    <xsl:variable name="id" select="name"/>
                    <td id="{$id}"><xsl:value-of select="name"/></td>
                    <td><xsl:value-of select="description"></xsl:value-of></td>
                    <xsl:for-each select="description">
                        <xsl:for-each select="following-sibling::*">
                            <xsl:variable name="passed" select="."></xsl:variable>
                            <xsl:choose>
                                <xsl:when test="$passed='true'">
                                    <td bgcolor="#00FF00"></td>
                                </xsl:when>
                                <xsl:when test="$passed='false'">
                                    <td bgcolor="#FF0000"></td>
                                </xsl:when>
                                <xsl:otherwise>
                                    <td></td>
                                </xsl:otherwise>
                            </xsl:choose>
                        </xsl:for-each>
                    </xsl:for-each>
                </tr>
            </xsl:for-each>
        </table>
    </xsl:template>
    
    <xsl:template name="generate-interoptest-summary">
        <xsl:param name="table-number"/>
        <xsl:variable name="name" select="name"/>
        <h2 id="{$name}"><xsl:value-of select="label"/></h2>
        <p><xsl:value-of select="description"/></p>
        
        <h4 id="{$name}-endpoints">Table <xsl:value-of select="$table-number"/>: <xsl:value-of select="$name"/> Endpoints</h4>
        <table border="2" bordercolorlight="#000000" bordercolordark="#000000"
            style="border-collapse: collapse" cellpadding="5">
        <xsl:for-each select="participantref">            
                <tr>
                    <xsl:variable name="provider" select="."/>
                    <td><a href="#{$provider}"><xsl:value-of select="."/></a></td>                 
                    <td><xsl:for-each select="following-sibling::endpoints[1]/endpoint">
                        <xsl:variable name="URI" select="URI"></xsl:variable>
                        <xsl:value-of select="label"/>: <a href="{$URI}"><xsl:value-of select="URI"/></a><br/>                       
                    </xsl:for-each>
                    </td>
                </tr>
        </xsl:for-each>
        </table>
        <p>The following tables enumerate 
            results from implementers based on running these interop tests. Green indicates a 
            successful outcome, red indicates a failure and no color indicates 'no claims'.</p>
        <xsl:for-each select="testcase">
            <xsl:variable name="testcase-name" select="name"/>
            <h4 id="{$testcase-name}">Table <xsl:value-of select="$table-number+ count(preceding-sibling::testcase) + 1"/>: Test Case - <xsl:value-of select="name"/></h4>
            <p><xsl:value-of select="description"/></p>
            <table border="2" bordercolorlight="#000000" bordercolordark="#000000" style="border-collapse: 
            collapse" cellpadding="5">
                <tr>
                    <td>Requestor/Provider</td>
                    <xsl:for-each select="../participantref">
                        <xsl:variable name="provider" select="."/>
                        <td><a href="#{$provider}"><xsl:value-of select="."/></a></td>
                    </xsl:for-each>
                </tr>
                <xsl:for-each select="result">
                    <tr>
                        <xsl:variable name="requestor" select="requestor"/>
                        <td><a href="#{$requestor}"><xsl:value-of select="requestor"/></a></td>
                        <xsl:for-each select="requestor">
                            <xsl:for-each select="following-sibling::*">
                                <xsl:variable name="passed" select="."></xsl:variable>
                                <xsl:choose>
                                    <xsl:when test="$passed='true'">
                                        <td bgcolor="#00FF00"></td>
                                    </xsl:when>
                                    <xsl:when test="$passed='false'">
                                        <td bgcolor="#FF0000"></td>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <td></td>
                                    </xsl:otherwise>
                                </xsl:choose>
                            </xsl:for-each>
                        </xsl:for-each>
                    </tr>
                </xsl:for-each>
            </table>   
        </xsl:for-each>
    </xsl:template>
    
</xsl:stylesheet>

--- NEW FILE: features.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <features>
            <xsl:for-each select="features/feature">
                <feature>
                    <serial><xsl:value-of select="count(preceding-sibling::*) + 1"/></serial>
                    <xsl:variable name="section">
                        <xsl:value-of select="location/URI"/>
                    </xsl:variable>
                    <section><a href="{$section}"><xsl:value-of select="location/section"/></a></section>
                    <name><xsl:value-of select="name"/></name>
                    <testcase><xsl:for-each select="testcaseref"><xsl:variable name="testcaseref"><xsl:value-of select="."/></xsl:variable><a href="#{$testcaseref}"><xsl:value-of select="."/></a>
                    </xsl:for-each></testcase>
                    <notes><xsl:value-of select="notes"/></notes>
                </feature>
            </xsl:for-each>
        </features>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: interop-round-step1.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:param name="PARTICIPANT-FILE"/>
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <results>
            <xsl:for-each select="results/participantref">
                <xsl:copy-of select="."/>
                <xsl:copy-of select="following-sibling::endpoints[1]"/>
            </xsl:for-each>
<!--            <xsl:for-each select="results/endpoints">
                <xsl:copy-of select="."/>
            </xsl:for-each>-->
            <xsl:for-each select="document($PARTICIPANT-FILE)/results">
                <xsl:for-each select="participantref">
                    <participantref>
                        <xsl:value-of select="."/>
                    </participantref>
                    <xsl:copy-of select="following-sibling::endpoints[1]"/>
                </xsl:for-each>
<!--                <xsl:for-each select="endpoints">
                    <xsl:copy-of select="."/>
                </xsl:for-each>-->
            </xsl:for-each>
            <xsl:for-each select="results/result">
                <xsl:copy-of select="."/>
            </xsl:for-each>
            <xsl:for-each select="document($PARTICIPANT-FILE)/results/result">
                <xsl:call-template name="create-result"/>
            </xsl:for-each>
        </results>
    </xsl:template>
    <xsl:template name="create-result">
        <result>
            <testcaseref>
                <xsl:value-of select="testcaseref"/>
            </testcaseref>
            <passed>
                <xsl:value-of select="passed"/>
            </passed>
            <participantref>
                <xsl:value-of select="../participantref"/>
            </participantref>
            <provider>
                <xsl:value-of select="provider"/>
            </provider>
        </result>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: interop-round-step2.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:param name="ROUND"/>
    <xsl:param name="STEP1-FILE"/>
    <xsl:template match="/">
        <xsl:message>
            <xsl:text>Step2</xsl:text>
        </xsl:message>
        <xsl:for-each select="rounds/round">
            <xsl:if test="name=$ROUND">
                <round>
                    <name>
                        <xsl:value-of select="name"/>
                    </name>
                    <label>
                        <xsl:value-of select="label"/>
                    </label>
                    <description>
                        <xsl:value-of select="description"/>
                    </description>
                    <xsl:for-each select="document($STEP1-FILE)/results/participantref">
                        <xsl:copy-of select="."/>
                        <xsl:copy-of select="following-sibling::endpoints[1]"/>
                    </xsl:for-each>
                    <xsl:for-each select="testcase">
                        <testcase>
                            <xsl:variable name="testcase" select="name"/>
                            <name>
                                <xsl:value-of select="name"/>
                            </name>
                            <description>
                                <xsl:value-of select="description"/>
                            </description>
                            <xsl:for-each select="document($STEP1-FILE)/results/participantref">
                                <result>
                                    <xsl:variable name="requestor" select="."/>
                                    <requestor>
                                        <xsl:value-of select="."/>
                                    </requestor> 
                                    <xsl:for-each select="document($STEP1-FILE)/results/result">
                                        <xsl:if test="$testcase=testcaseref">
                                            <xsl:if test="$requestor=participantref">
                                                <xsl:for-each select="provider">
                                                  <xsl:variable name="provider" select="."/>
                                                  <xsl:element name="{$provider}">
                                                  <xsl:value-of select="../passed"/>
                                                  </xsl:element>
                                                </xsl:for-each>
                                            </xsl:if>
                                        </xsl:if>
                                    </xsl:for-each>
                                </result>
                            </xsl:for-each>
                        </testcase>
                    </xsl:for-each>
                </round>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

--- NEW FILE: dashboard.html ---
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Web Services Policy 1.5 CR Dashboard</title>
<link href="http://www.w3.org/Guide/pubrules-style.css" type="text/css" rel="stylesheet">
<link href="http://www.w3.org/2006/02/charter-style.css" type="text/css" rel="stylesheet">
<style type="text/css"> body {font-family:sans-serif} td {vertical-align:top}
                    .passed {background-color:green} .failed {background-color:orange} .disaster
                    {background-color:red} .border th, .border td { border: 1px solid black;
                    padding: 0.5ex } .border th { background: #ccc } .good { background: green }
                    .bad { background: red } .group {background-color:#DDD} .heading
                    {font-weight:bold; white-space: nowrap} .explanatory {font-size:smaller}
                </style>
</head>
<body>
<p class="navicons">
<a href="../../../"><img width="72" height="48" alt="W3C" src="http://www.w3.org/Icons/w3c_home"></a>  <a href="http://www.w3.org/Architecture/"><img width="212" height="48" alt="Architecture Domain" src="http://www.w3.org/Icons/arch"></a>  <a href="http://www.w3.org/2002/ws/"><img alt="Web Services Activity" height="48" width="192" src="http://www.w3.org/2002/ws/3/04/diags/wsa.png"></a>
</p>
<p class="navlinks">
[...2106 lines suppressed...]
<td id="U2E1">U2E1</td><td>?</td><td></td><td></td><td></td>
</tr>
<tr>
<td id="U2E2">U2E2</td><td>?</td><td></td><td></td><td></td>
</tr>
<tr>
<td id="U2E3">U2E3</td><td>?</td><td></td><td></td><td></td>
</tr>
<tr>
<td id="U3E1">U3E1</td><td>?</td><td></td><td></td><td></td>
</tr>
<tr>
<td id="U3E2">U3E2</td><td>?</td><td></td><td></td><td></td>
</tr>
<tr>
<td id="U3E3">U3E3</td><td>?</td><td></td><td></td><td></td>
</tr>
</table>
</body>
</html>

Received on Monday, 12 March 2007 13:32:17 UTC