Comments on XHTML 2.0 document conformance requirements

The conformance section of the 2005-05-27 XHTML 2.0 WD gives the 
following example of an XHTML 2.0 document:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css"
                     href="http://www.w3.org/MarkUp/style/xhtml2.css"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"
     "http://www.w3.org/MarkUp/DTD/xhtml2.dtd">
<html xmlns="http://www.w3.org/2002/06/xhtml2/" xml:lang="en"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/
                           http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd"
 >
   <head>
     <title>Virtual Library</title>
   </head>
   <body>
     <p>Moved to <a href="http://example.org/">example.org</a>.</p>
   </body>
</html></pre>

(I assume the stray </pre> tag is an error in the spec.)

The example includes awfully lot of boiler plate cruft. If the 
implementation experience with XHTML 1.x is any indication, browsers 
won't need nor use the DTD/XSD references. RELAX NG validation can be 
used for answering the question "Does this document conform the grammar 
of XHTML 2.0?" without contaminating the document with schema-specific 
cruft. The DTD/XSD references serve answering a lot less interesting 
question: "Does this document conform to the schema it declares 
itself?"

Since neither browsers nor RELAX NG-based quality assurance processes 
need the DTD/XSD references and DTD and XSD do not provide validation 
value over RELAX NG, I see no reason why authors would want to include 
the DTD/XSD cruft unless they are practicing cargo cult authoring and 
copy whatever is handed to them from above.

Therefore, I would like to suggest the following:
  * Making the RELAX NG schema the only normative schema instead of 
requiring
    adherence to three schemas in three schema languages.
  * Dropping the DTD as legacy technology.
  * Providing the XSD schema as an informative courtesy to those who have
    invested in XSD-based solutions and don't want to switch to RELAX NG.
  * Dropping the SHOULD for doctype.
  * Dropping the MUST for schemaLocation.
  * Discouraging the use of a "higher-level protocol" for overriding the
    encoding sniffing rules of the XML spec.
  * Making adherence to normative prose that can't be expressed in a 
formal
    grammar an explicit component of document conformance.
  * Not using the term "Strictly Conforming" to imply that there is
    non-strict conformance without specifying what non-strict conformance
    is.
  * Simplifying the example to:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/2002/06/xhtml2/" xml:lang="en">
   <head>
     <title>Virtual Library</title>
   </head>
   <body>
     <p>Moved to <a href="http://example.org/">example.org</a>.</p>
   </body>
</html>

-- 
Henri Sivonen
hsivonen@iki.fi
http://hsivonen.iki.fi/

Received on Sunday, 29 May 2005 20:00:58 UTC