<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en-us" xmlns="http://www.w3.org/1999/xhtml">
    <body>
        <template><div>Template content</div></template>
        <span>This tests that content within template is lifted to the template contents when parsed as xhtml.</span>
        <div id="output">
        </div>
        <div id="serialization">
        </div>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

var output = document.getElementById("output");
var template = document.querySelector("template");
if (template.content.childNodes.length > template.childNodes.length)
  output.textContent = "The template content made it through the wormhole\n";

var serialization = document.getElementById("serialization");
serialization.textContent = new XMLSerializer().serializeToString(template);
</script>
    </body>
</html>