<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script>
        function log(msg)
        {
            document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
        }

        window.onload = function()
        {
            if (window.testRunner)
                testRunner.dumpAsText();
            var tagName = document.createElement('html').tagName;
            log(tagName == "html" ? "PASS: File parsed as XHTML" : "FAIL: document.createElement('html').tagName was '" + tagName + "', expected 'html'");
        }
    </script>
</head>
<body>
    <pre id='console'></pre>
</body>
</html>
