[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: quick XPath question: finding /a/b/c with a default namespace
- From: James Strachan <james_strachan@yahoo.co.uk>
- To: David Carlisle <davidc@nag.co.uk>
- Date: Fri, 27 Jul 2001 11:32:05 +0100
Hi David
> Thanks for your answer. I first thought that was how it worked but the
> following sentence in the XPath spec confused me:-
>
> "the default namespace declared with xmlns is not used: if the QName does
> not have a prefix, then the namespace URI is null"
DOH! My mistake. That sentence is referring to the QNames of the XPath
expression, not the source XML document isn't it.
Sorry for wasting everyones time on this, I now get it.
FWIW Steen Lehmann had a good idea on the dom4j-user list. If you are not
inside XSLT and so defining namespace contexts is troublesome, the XPath
expression
/*[name()='a']/*[name()='b']/*[name()='c']
is the next best thing, certainly better to /*:a/*:b/*:c as at least it only
matches elements of the correct name with no prefix (and so must all be in
the empty namespace or the default xmlns="foo" namespace)
James
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com