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