blob: ba5f7184db2ebb5d95f2461012c1c1f452d272e1 [file] [log] [blame]
<html>
<body>
<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=11694">bug 11694</a>:
XSLT output method does not default to HTML when the target document is HTML.</p>
<div id="result">Should be green: </div>
<div id="result2">Should be black: </div>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var xsl = (new DOMParser()).parseFromString('<?xml version="1.0" encoding="ISO-8859-1"?>'+
'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">'+
'<xsl:template match="doc">'+
'<span style="color:green">result.</span>'+
'</xsl:template>'+
'</xsl:stylesheet>', 'application/xml');
var xsl2 = (new DOMParser()).parseFromString('<?xml version="1.0" encoding="ISO-8859-1"?>'+
'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">'+
'<xsl:output method="xml"/>'+
'<xsl:template match="doc">'+
'<span style="color:green">result.</span>'+
'</xsl:template>'+
'</xsl:stylesheet>', 'application/xml');
var xml = (new DOMParser()).parseFromString('<?xml version="1.0" encoding="ISO-8859-1"?>'+
'<doc/>', 'application/xml');
var processor = new XSLTProcessor();
processor.importStylesheet(xsl);
var result = processor.transformToFragment(xml, document);
document.getElementById("result").appendChild(result);
// The HTML default shouldn't override an explicitly specified method.
var processor = new XSLTProcessor();
processor.importStylesheet(xsl2);
result2 = processor.transformToFragment(xml, document);
document.getElementById("result2").appendChild(result2);
if (document.getElementById("result").childNodes[1].style.color == "green" &&
!document.getElementById("result2").childNodes[1].style)
document.write("<p>SUCCESS</p>");
</script>
</body>
</html>