58 lines
2.2 KiB
HTML
58 lines
2.2 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:foo="http://foo.com" xmlns:bar="http://bar.com" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
<title>XMLSerializer() namespace test</title>
|
|
<script>
|
|
window.addEventListener("load", function() {
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
var xs = new XMLSerializer();
|
|
var content = document.getElementById('content');
|
|
content.firstChild.nodeValue = xs.serializeToString(document.getElementById('input'));
|
|
|
|
// Original test
|
|
var d = document.implementation.createDocument("urn:foo-ns", "foo:root", null);
|
|
if (!d.documentElement) {
|
|
// This shouldn't happen, since DomImplementation.createDocument
|
|
// is supposed to create the root element. But in Safari, it's required.
|
|
d.appendChild(d.createElementNS("urn:foo-ns", "foo:root"));
|
|
}
|
|
var root = d.documentElement;
|
|
root.setAttributeNS("urn:foo-ns", "foo:type", "test")
|
|
|
|
var c = d.createElementNS(null, "child");
|
|
root.appendChild(c);
|
|
|
|
c.setAttributeNS("urn:foo-ns", "foo:name", "one");
|
|
c.setAttributeNS("urn:bar-ns", "bar:name", "two");
|
|
var attr = d.createAttributeNS(null, "name");
|
|
attr.value += "three";
|
|
c.setAttributeNode(attr);
|
|
|
|
window.alert("foo:name is " + c.getAttributeNS("urn:foo-ns", "name") + " and should be one");
|
|
window.alert("bar:name is " + c.getAttributeNS("urn:bar-ns", "name") + " and should be two");
|
|
window.alert("name is " + c.getAttributeNS(null, "name") + " and should be three");
|
|
window.alert("node is " + d.getElementsByTagNameNS(null, "child").item(0).nodeName + " and should be child");
|
|
window.alert(xs.serializeToString(d));
|
|
}, false);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<pre id="content">foo</pre>
|
|
<div id="input">
|
|
<div>
|
|
<foo:node xmlns="http://baz.com" foo:name="foo_name" bar:name="bar_name">
|
|
<node foo:name="foo_name">
|
|
<bar:node xmlns:bar="http://bar2.com"/>
|
|
</node>
|
|
</foo:node>
|
|
</div>
|
|
<bar:node>
|
|
<br />
|
|
</bar:node>
|
|
</div>
|
|
</body>
|
|
</html>
|