<html>
<head>
</head>
<body id="body">
<p>This tests that XSLT transforms can traverse into XHTML template element content when applying XSL template.
If the test succeeds, the transform will have swapped the position of the body spans (A and B) with the template content spans (C and D)
and replaced the spans with divs.</p>
<script>
if (window.testRunner)
	testRunner.dumpAsText();

var requester = new XMLHttpRequest();
var processor = new XSLTProcessor();
var serializer = new XMLSerializer();

function getXMLDocument(name)
{
	requester.open("GET", name, false);
	requester.send(null);
	return requester.responseXML;
}

function addStringResult(text)
{
	document.writeln("<span>" + text + "</span>");
}

function divChildTextNodes(parent) {
    var output = '';

    for (var child = parent.firstChild; child; child = child.nextSibling) {
        if (child.tagName == 'div') {
            output += child.textContent;
        }
    }

    return output;
}

var xml = getXMLDocument("xslt-xhtml-template.xml");
var xsl = getXMLDocument("resources/xhtml-template.xsl");

processor.importStylesheet(xsl);

var ownerDocument = document.implementation.createDocument("", "test", null);
var frag = processor.transformToFragment(xml, ownerDocument);

addStringResult('Body divs: ' + divChildTextNodes(frag.querySelector('body')) + 
                ', Template content divs: ' + divChildTextNodes(frag.querySelector('template').content));

</script>
</body>
</html>