<!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">
  <head>
    <title/>
  </head>
  <body>
    <p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=12581">bug 12581</a>:
    XPath //title shouldn't match &lt;title> in XHTML.</p>
    <div id="result">FAILURE: script did't run</div>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        var result = document.evaluate("//title", document.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        if (result.snapshotLength == 0)
            document.getElementById("result").firstChild.nodeValue = "SUCCESS";
        else
            document.getElementById("result").firstChild.nodeValue = "FAILURE: " + result.snapshotLength + " node(s) matched - should be 0";
    </script>
  </body>
</html>
