[webkit-dev] createNSResolver and namespaced XPath

Paul Everitt paul at zeapartners.org
Sat May 20 13:01:50 PDT 2006

Howdy all.  First and foremost, thanks a ton for 6638:


I'm working on some XForms inspired stuff.  6638 is important for the 
ideas I'm trying out.

I also saw 8791:


...and I'm sticking to createNSResolver for now.  However, I can't get 
it to work with namespaced XPath expressions.  For example the following 
matches nothing:

     <title>XPath Resolver in WebKit</title>
function search (xpath) {

   var xmlString = '<xf:model xmlns:xf="http://foo.org/"/>';

   // Make a doc and a resolver
   var doc = (new DOMParser()).parseFromString(xmlString, "text/xml");
   var contextNode = doc.documentElement;
   var nsResolver = document.createNSResolver(contextNode);

   // Evaluate a namespaced xpath
   var result = doc.evaluate('//xf:model', doc, nsResolver,
                             null, null);
   <h1>XPath resolver in WebKit</h1>

   <p>This page test the XPath .evaluate function in WebKit, in
   particular, looking up XPath expressions in foreign namespaces
   with <code>createNSResolver</code>.</p>

   <p><button onclick="search('//*');">Test</button></p>


This test case is also at the following URL:


It works in Firefox, giving "xf:model" as the alert, but "null" in a 
nightly WebKit (from yesterday).  I certainly expect that I'm doing 
something wrong...

Thanks for the help!


More information about the webkit-dev mailing list