Hi William, I think it is not possible to use namespace with non-null URI with empty prefix. There is notice "In XPath 1.0, all unprefixed names are unqualified." in Jaxen FAQ (Jaxen is XPath engine used by dom4j). I skim throught the Jaxen sources -- it seems everytime Jaxen see empty Xpath namespace prefix it skips prefix-to-uri namespace mappings. I'm sorry but I think the notice mentioned above is right and you cannot use unprefixed name with non-empty namespace URI.
Best regards, Filip 2008/9/29 William Pietri <[EMAIL PROTECTED]>: > > Hi! I'm using dom4j's great XPath processing to do extensive unit > testing of XHTML. Changing the pages to be explicitly XHTML broke all my > XPaths, and I'm wondering how to fix that. Ideally, I'd like the default > namespace in my documents to be the default namespace in my XPaths. > > > For starters, let me explain the situation. Consider this simple document: > > <html><head><title>Hi!</title></head><body><p>Hello</p></body></html> > > You could test for the presence of the paragraph like this: > > assertThat(document.selectNodes("//p").size(),is(1)); > > However, suppose I add the proper doctype: > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > And then start the document like this: > > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> > > Suddenly, my test fails! The XPath no longer matches. > > > This has been discussed in the archives before. The solution mentioned > is to set it up so that the XPaths have an explicit namespace, and then > to set a namespace map in the DocumentFactory. But for me, that would > require changing hundreds of test assertions, and in a way that would > make them harder to read. > > Is there some way I can fix this without changing my tests? I tried > explicitly telling the DocumentFactory that "" should map to the XHTML > namespace, and in the debugger it looks like the Document object has > that right. But I still can't do a selectNodes call and have it return > anything. > > Any help is appreciated. > > Thanks, > > William ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ dom4j-user mailing list dom4j-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dom4j-user