<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:mat="http://www.w3.org/2002/05/matrix/vocab#" 
  xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:doc="http://www.w3.org/2000/10/swap/pim/doc#"
  xmlns:org="http://www.w3.org/2001/04/roadmap/org#"
  xmlns:rcs="http://www.w3.org/2001/03swell/rcs#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rec="http://www.w3.org/2001/02pd/rec54#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  exclude-result-prefixes="mat contact dc doc org rcs rdf rec rdfs"
  version="1.0">


  <!--
       From ../06/toMatrix.xsl
       
       Creation Date: 2003-01-15
       XSL stylesheet created by Dominique Hazael-Massieux dom@w3.org, from the one created by Karl Dubost to generate the Matrix in HTML from the RDF version.
       
       -->
  
  <xsl:output
    indent="yes"
    method="xml" 
    omit-xml-declaration="no"
    encoding="utf-8"
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
  <xsl:param name="sort" select="'title'"/>
  
  <xsl:template match="/rdf:RDF">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <title>The QA Matrix - W3C QA</title>
        <meta name="Keywords" content="qa, quality assurance, conformance, validity, test suite, qa, quality assurance, conformance, validity, test suite, matrix, qa, conformance, specification, recommendation, standard, test suite, validator, validation"/>
        <meta name="Description" content="W3C QA - Matrix detailing the QA activity of the different specifications issued by W3C."/>
        <link rel="schema.DC" href="http://purl.org/dc"/>
        <meta name="DC.Subject" lang="en" content="qa, quality assurance, conformance, validity, test suite, matrix, qa, conformance, specification, recommendation, standard, test suite, validator, validation"/>
        <meta name="DC.Title" lang="en" content="W3C QA - The W3C Matrix"/>
        <meta name="DC.Description.Abstract" lang="en" content="W3C QA - Matrix detailing the QA activity of the different specifications issued by W3C."/>
        <meta name="DC.Date.Created" content="2001-01-16"/>
        <meta name="DC.Language" scheme="RFC1766" content="en"/>
        <meta name="DC.Creator" content="Karl Dubost"/>
        <meta name="DC.Publisher" content="W3C - World Wide Web Consortium - http://www.w3.org"/>
        <meta name="DC.Rights" content="http://www.w3.org/Consortium/Legal/copyright-documents-19990405"/>
            <style type="text/css" media="all">
    @import "/QA/2006/01/blogstyle.css";
    </style>
        <link rel="stylesheet" href="2003/08/matrix.css" title="Default"/>
        <link rel="alternate stylesheet" href="2003/05/thematrix.css" title="The Matrix"/>        
<!--
        <link rel="Stylesheet" href="2002/12/qa4.css" title="Default" />
-->
</head>
      
      <body>
        <!-- Header -->
    <div id="banner">
      <h1 id="title">
	<a href="http://www.w3.org/"><img height="48" alt="W3C" id="logo" src="http://www.w3.org/Icons/WWW/w3c_home_nb" /></a><a href="http://www.w3.org/QA/"><img src="http://www.w3.org/QA/2002/12/qa.png" alt="Quality Assurance" /></a> Interest Group
</h1>
    </div>
    
    <ul class="navbar" id="menu">
            <li><strong><a href="/QA/" title="Quality Assurance Web Site Home">[QA Home]</a></strong></li>

        <li><a href="./Library/" title="Documents and Publications on Web and Quality">Documents</a></li>
        <li><a href="./Tools/" accesskey="3" title="Validators and other Tools">Tools</a></li>
        <li><a href="#contact">Feedback</a></li>
    </ul>

<div id="searchbox">
<form method="get" action="http://www.google.com/custom" enctype="application/x-www-form-urlencoded">
<p id="formbox"><input type="text" size="15" class="textfield" name="q" accesskey="E" maxlength="255" /> <input type="submit" class="submitfield" value="Search" id="goButton" name="sa" accesskey="G" /> <input type="hidden" name="cof" value="T:black;LW:72;ALC:#ff3300;L:http://www.w3.org/Icons/w3c_home;LC:#000099;LH:48;BGC:white;AH:left;VLC:#660066;GL:0;AWFID:0b9847e42caf283e;" /><input type="hidden" id="searchW3C" name="sitesearch" checked="checked" value="www.w3.org/QA" /><input type="hidden" name="domains" value="www.w3.org/QA" /></p>

</form>
</div>



    <div id="main"><!-- This DIV encapsulates everything in this page - necessary for the positioning -->
        
          <h1>The Matrix of <a href="http://www.w3.org/TR/">W3C specifications</a>.</h1>
          <!-- Start Editing here-->
          
          
          <p>The specifications in the Matrix are at least at Last Call stage, except if they are working on a Test Suite at Working Draft stage. An empty cell means that the data is either not available or not known by the maintainers of the Matrix.</p>
         
          
          <p>The Matrix contains 
          <xsl:value-of select="count(*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')]/mat:status[@rdf:resource='http://www.w3.org/2001/02pd/rec54#REC'])"/> Recommendations, <xsl:value-of select="count(*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')]/mat:status[@rdf:resource='http://www.w3.org/2001/02pd/rec54#CR'])"/> Candidate Recommendations, <xsl:value-of select="count(*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')]/mat:status[@rdf:resource='http://www.w3.org/2001/02pd/rec54#PR'])"/> Proposed Recommendations and <xsl:value-of select="count(*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')]/mat:status[@rdf:resource='http://www.w3.org/2001/02pd/rec54#LastCall'])"/> Last Call Working Drafts.</p>

          <p>
            This is the view sorted by 
            <xsl:choose>
              <xsl:when test="$sort='status'">
                status; a <a href="TheMatrix">view sorted by title</a>
              </xsl:when>
              <xsl:otherwise>
                title; a <a href="TheMatrix?sort=status">view sorted by status</a>
              </xsl:otherwise>
            </xsl:choose>
             is also available.
          </p>
          
          <div>
            <h2>Key</h2>
            <ul>
              <li><dfn><img src="http://www.w3.org/QA/images/icovalid" alt="validator icon" /></dfn> The specification has a validator</li>
              <li><dfn><img src="http://www.w3.org/Icons/w3c_home"  class="icon" alt="W3C Test suite icon" /></dfn> The specification has a Test Suite located on the W3C server</li>
              <li><dfn><img src="http://www.w3.org/QA/images/icots" alt="Test Suite icon" /></dfn> The specification has a Test Suite</li>
              <li><dfn><img src="http://www.w3.org/QA/images/icoconf" alt="Conformance section icon" /></dfn> The specification has a conformance section</li>
              <li><img src="http://www.w3.org/QA/2002/10/matrix-color" alt="scale of colors for the table" /><br/> In the context of this table, the critical stages of a specification are Last Call and Candidate Recommendation.</li>
            </ul>
          </div>

          <div class="thematrix">
            <h2>The Matrix</h2>
            <table class="thematrix" border="1">
              <tbody>
                <tr>
                  <th><a href="TheMatrix" title="view sorted by title">Specification</a></th>
                  <th><a href="TheMatrix?sort=status" title="view sorted by status">Status</a></th>
                  <th>Properties</th>
                  <th>Related</th>
                </tr>
                
                <xsl:choose>
                  <xsl:when test="$sort='status'">
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')][mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#REC' or mat:status/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#RFC']">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')][mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#PR']">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')][mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#CR']">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')][mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#LC']">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')][mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#WD' and not(mat:status/@rdf:resource='http://www.w3.org/2001/02pd/rec54#LC')]">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:apply-templates select="*[not(rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Informative' or rdf:type/@rdf:resource='http://www.w3.org/2001/02pd/rec54#FirstEdition' or local-name()='FirstEdition') and (rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work')]">
                      <xsl:sort select="concat(mat:hasAcronym,dc:title)"/>
                    </xsl:apply-templates>
                  </xsl:otherwise>
                </xsl:choose>
              </tbody>
            </table>
          </div>
          
          <p>This version of the Matrix has been produced at this $Date: 2006/03/15 05:38:37 $. This is an XHTML ouput of an <a href="http://www.w3.org/QA/2002/10/matrix-base">RDF maintained list of QA related info</a> merged with the <a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">RDF version of the TR page</a>. We have written a <a href="/QA/2002/06/TheMatrix-manual">manual for the maintainer of the Matrix</a>. The XHTML output has been produced with an XSL stylesheet : <a href="/QA/2002/10/toMatrix.xsl">toMatrix.xsl</a>.</p>
        
        <hr/>
        
        <div class="disclaimer">
          <a href="http://validator.w3.org/check/referer"><img
          src="http://validator.w3.org/images/vxhtml10" alt="Valid XHTML 1.0!"
          height="31" width="88" /></a> <p class="author">
          Created Date: 2001-01-16 by <a href="mailto:karl@w3.org">Karl Dubost</a><br />
          Last modified $Date: 2006/03/15 05:38:37 $ by $Author: kdubost $</p>
          
          <p class="policyfooter"><a
          href="http://www.w3.org/Consortium/Legal/ipr-notice.html">Copyright</a> <xsl:text>&#169;</xsl:text>
          1999-2002 <a href="http://www.w3.org">W3C</a> (<a
          href="http://www.lcs.mit.edu">MIT</a>, <a
          href="http://www.inria.fr/">INRIA</a>, <a
          href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
          href="http://www.w3.org/Consortium/Legal/ipr-notice.html">liability,</a> <a
          href="http://www.w3.org/Consortium/Legal/ipr-notice.html">trademark</a>, <a
          href="http://www.w3.org/Consortium/Legal/copyright-documents.html">document
          use</a> and <a
          href="http://www.w3.org/Consortium/Legal/copyright-software.html">software
          licensing</a> rules apply. Your interactions with this site are in accordance
          with our <a
          href="http://www.w3.org/Consortium/Legal/privacy-statement.html">public</a>
          
          and <a
          href="http://www.w3.org/Consortium/Legal/privacy-statement.html">Member</a>
          privacy statements.</p>
          
        </div>
        </div>
      </body>
    </html>
  </xsl:template>
  
  <xsl:template match="*[rdf:type/@rdf:resource='http://www.w3.org/2002/05/matrix/vocab#Work' or local-name()='Work']">
    <xsl:variable name="title">
      <xsl:choose>
        <xsl:when test="mat:hasAcronym">
          <xsl:value-of select="mat:hasAcronym"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="dc:title"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <tr>
      <th class="spec">
        <a href="{@rdf:about}"
          title="{dc:title}"><xsl:value-of select="$title"/>
        </a>
      </th>
      <td>
        <xsl:apply-templates select="mat:status[1]"/>
      </td>
      <td class="Valid">
        <xsl:choose>
          <xsl:when test="mat:hasValidator">
            <a href="{mat:hasValidator/@rdf:resource}">
              <xsl:attribute name="title">
                <xsl:choose>
                  <xsl:when test="/rdf:RDF/*[@rdf:about=current()/hasValidator/@rdf:resource]/dc:title">
                    <xsl:value-of select="/rdf:RDF/*[@rdf:about=current()/hasValidator/@rdf:resource]/dc:title"/>
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:text>Validator for </xsl:text><xsl:value-of select="$title"/>
                  </xsl:otherwise>
                </xsl:choose>
              </xsl:attribute>
              <img
                src="http://www.w3.org/QA/images/icovalid" alt="Validator"/>
            </a>
          </xsl:when>
          <xsl:otherwise>
            <span class="no" title="No validator known for {$title}">-</span>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="contains(mat:hasTestSuite/@rdf:resource,'.w3.org')">
            <a href="{mat:hasTestSuite/@rdf:resource}">
              <xsl:attribute name="title">
                <xsl:choose>
                  <xsl:when test="/rdf:RDF/*[@rdf:about=current()/hasTestSuite/@rdf:resource]/dc:title">
                    <xsl:value-of select="/rdf:RDF/*[@rdf:about=current()/hasTestSuite/@rdf:resource]/dc:title"/>
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:text>W3C Test Suite for </xsl:text><xsl:value-of select="$title"/>
                  </xsl:otherwise>
                </xsl:choose>
              </xsl:attribute>
              <img
                src="http://www.w3.org/Icons/w3c_home"
          alt="W3C Test Suite" class="icon"/>
            </a>
          </xsl:when>
          <xsl:when test="mat:hasTestSuite and not(starts-with(mat:hasTestSuite/@rdf:resource,'http://www.w3.org'))">
            <a href="{mat:hasTestSuite/@rdf:resource}">
              <xsl:attribute name="title">
                <xsl:choose>
                  <xsl:when test="/rdf:RDF/*[@rdf:about=current()/hasTestSuite/@rdf:resource]/dc:title">
                    <xsl:value-of select="/rdf:RDF/*[@rdf:about=current()/hasTestSuite/@rdf:resource]/dc:title"/>
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:text>non-W3C Test Suite for </xsl:text><xsl:value-of select="$title"/>
                  </xsl:otherwise>
                </xsl:choose>
              </xsl:attribute>
              <img
                src="http://www.w3.org/QA/images/icots" alt="Test Suite"/>
            </a>
          </xsl:when>
          <xsl:otherwise>
            <span class="no" title="No test suite known for {$title}">-</span>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="mat:hasConformanceSection">
            <a
            href="{mat:hasConformanceSection/@rdf:resource}" title="Conformance section for {$title}"><img
            src="http://www.w3.org/QA/images/icoconf" alt="Conformance"/></a>
          </xsl:when>
          <xsl:otherwise>
            <span class="no" title="No conformance section known for {$title}">-</span>
          </xsl:otherwise>
        </xsl:choose>
      </td>
      <td class="Info">
        <xsl:choose>
          <xsl:when test="not(mat:isRelatedTo|mat:hasInteropReport|mat:hasImplReport|mat:hasErrata|mat:hasTranslations|mat:hasPatentDisclosures|mat:hasFeedbackML|mat:hasRequirements)">
            <xsl:text>-</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <ul>
              <xsl:apply-templates select="mat:isRelatedTo|mat:hasInteropReport|mat:hasImplReport|mat:hasErrata|mat:hasTranslations|mat:hasPatentDisclosures|mat:hasFeedbackML|mat:hasRequirements"/>
            </ul>
          </xsl:otherwise>
        </xsl:choose>
      </td>
    </tr>
    
  </xsl:template>
  
  
  <xsl:template match="mat:isRelatedTo|mat:hasInteropReport|mat:hasImplReport|mat:hasErrata|mat:hasTranslations|mat:hasPatentDisclosures|mat:hasFeedbackML|mat:hasRequirements">
    <xsl:variable name="property" select="local-name()"/>
    <li>
      <a href="{@rdf:resource}">
        <xsl:choose>
          <xsl:when test="/rdf:RDF/*[@rdf:about=current()/@rdf:resource]/dc:title">
            <xsl:value-of select="/rdf:RDF/*[@rdf:about=current()/@rdf:resource]/dc:title"/>
          </xsl:when>
          <xsl:when test="document('../../../2002/01/tr-automation/tr.rdf')/rdf:RDF/*[doc:versionOf/@rdf:resource=current()/@rdf:resource]/dc:title">
            <xsl:value-of select="document('../../../2002/01/tr-automation/tr.rdf')/rdf:RDF/*[doc:versionOf/@rdf:resource=current()/@rdf:resource]/dc:title"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="document('../../../2002/05/matrix/vocab.rdf')/rdf:RDF/rdf:Property[@rdf:about=concat('#',$property)]/rdfs:label"/>
          </xsl:otherwise>
        </xsl:choose>
      </a>
    </li>
  </xsl:template>

  <xsl:template match="mat:status">
    <xsl:variable name="status">
      <xsl:call-template name="readableStatus">
        <xsl:with-param name="uri" select="@rdf:resource"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:attribute name="class">
      <xsl:value-of select="$status"/>
    </xsl:attribute>
    <xsl:copy-of select="$status"/>
  </xsl:template>
  
  <xsl:template name="readableStatus">
    <xsl:param name="uri"/>
    <xsl:choose>
      <xsl:when test="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')='REC'">
        <abbr title="W3C Recommendation"><xsl:text>Rec</xsl:text></abbr>
      </xsl:when>
      <xsl:when test="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')='PR'">
        <abbr title="W3C Proposed Recommendation"><xsl:text>PR</xsl:text></abbr>
      </xsl:when>
      <xsl:when test="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')='CR'">
        <abbr title="W3C Candidate Recommendation"><xsl:text>CR</xsl:text></abbr>
      </xsl:when>
      <xsl:when test="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')='LastCall'">
        <abbr title="W3C Working Draft in Last Call"><xsl:text>LC</xsl:text></abbr>
      </xsl:when>
      <xsl:when test="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')='WD'">
        <abbr title="W3C Working Draft"><xsl:text>WD</xsl:text></abbr>
      </xsl:when>

      <xsl:when test="substring-after($uri,'http://www.w3.org/2002/05/matrix/vocab#')='RFC'">
        <abbr title="IETF Request For Comment"><xsl:text>RFC</xsl:text></abbr>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="substring-after($uri,'http://www.w3.org/2001/02pd/rec54#')"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

</xsl:stylesheet>
