Content Type:

This service tunnels HTTP requests and changes the MIME type of text/html resources to application/xml, application/xhtml+xml or any other MIME type. This allows accurate testing with XHTML user agents.

When an input document is not well-formed, the unmodified source is output. An XHTML user agent will then detect the well-formedness violation. Otherwise, a comment <!-- XHTML Proxy has successfully processed this page. --> is added at the end of the page.

Testing XHTML documents in XHTML user agents is important as there are subtle differences between HTML and XHTML:

To avoid excessive traffic at w3.org, some DTD URLs (such as http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd) are rewritten to point to my own server.


Don't hesitate to send your comments to Christoph Schneegans (Christoph@Schneegans.de).

HTTP requests from this service always contain the header User-Agent: XHTML Proxy (+http://schneegans.de/xp/). Please inform me if you observe excessive traffic to your site.

XHTML pages that pass

These pages use an XHTML document type declaration and are properly rendered by XHTML user agents:

XHTML pages that fail

These pages use an XHTML document type declaration, but are not even well-formed: