<!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>