<!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.testRunner)
        testRunner.dumpAsText();

    function MyNSResolver() {}
    MyNSResolver.prototype.lookupNamespaceURI = function(prefix) {
        throw new Error("this is an exception");
    }

    var sXml = "<root xmlns='http://www.example.com'><child>SUCCESS</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);

    } catch (ex) {
        document.getElementById("result").textContent = "SUCCESS";
    }
    ]]></script>

</body>
</html>
