<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Namespace Resolver Test Case</title> </head> <body> <div id="result">FAILURE</div> <script type="text/javascript"><![CDATA[ if (window.layoutTestController) layoutTestController.dumpAsText(); function MyNSResolver() {} MyNSResolver.prototype.lookupNamespaceURI = function(prefix) { switch (prefix) { case "foo": return "http://www.example.com"; break; default: return null; break; } } var sXml = "<root><ex:child xmlns:ex='http://www.example.com'>SUCCESS</ex:child></root>"; var oXmlDom = (new DOMParser()).parseFromString(sXml, "text/xml"); try { var oResult = oXmlDom.evaluate("foo:child/text()", oXmlDom.documentElement, new MyNSResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); document.getElementById("result").textContent = oResult.iterateNext().nodeValue; } catch (ex) { document.getElementById("result").textContent = ex; } ]]></script> </body> </html>