This service lets you validate XML documents such as XHTML against the appropriate schemas. It performs a more accurate validation than the W3C validator.
You can validate XML documents by URL, by file upload or by direct input. Furthermore, you can validate fragments of XML documents. You can easily validate the page that is currently displayed in your browser with this bookmarklet.
This software is built around the System.Xml and System.Xml.Schema namespaces in .NET Framework 2.0. It is written in Visual Basic .NET.
If you send XHTML documents as text/html, you should also test them in XHTML Proxy.
Fragment validation is temporarily not available.
You can select a schema manually or let the validator detect it. Automatic schema detection tries to determine the appropriate schema from the xsi:schemaLocation attribute and the public and system identifiers of the document type declaration. This validator does not download any DTD or schema files, but relies on its own ones.
Checks some of the HTML compatibility guidelines. These tests are currently performed:
<foo />, not <foo></foo>. (However, a missing space before the trailing / is not detected.)<foo />, but <foo></foo>.xml:lang and lang attributes must be specified with the same value.style and script elements.<html xmlns='http://www.w3.org/1999/xhtml'>).<, >, ", ' and &, such as or Ä, you need an XHTML 1.0 document type declaration. However, it's better to avoid entity references in XHTML.<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' /> or similar encoding declarations are ignored, of course. Use an HTTP header such as Content-Type: application/xhtml+xml;charset=iso-8859-1, a BOM or an XML declaration such as <?xml version='1.0' encoding='iso-8859-1'?>.Referer header.<span id='foo:bar'> throws an error.application/xhtml+xml, application/xml and text/html. This validator does not accept text/xml due to its silly treatment of character encoding. It does not accept application/x-httpd-php either, so if you receive a message such as The response code was '406 Not Acceptable', please fix your server.
form element is allowed to carry a name attribute.Don't hesitate to send suggestions and comments to Christoph Schneegans (Christoph@Schneegans.de).
The XML support of the W3C validator and its clones such as Validome or the WDG HTML validator suffers from several limitations.
This validator also performs a thorough check of language tags such as de-DE or en-US according to BCP 47.
Björn Höhrmann has prepared some interesting tests. I've incorporated some of them in my own test case collection.
Furthermore, this validator checks for element prohibitions, that can't be expressed in DTDs or schemas, and some of the HTML Compatibility Guidelines.
The following schemas are used: