[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: David Carlisle <davidc@nag.co.uk>
- To: james_strachan@yahoo.co.uk
- Date: Fri, 27 Jul 2001 11:49:49 +0100
> "the default namespace declared with xmlns is not used: if the QName does
> not have a prefix, then the namespace URI is null"
> So I thought that...
No, that paragraph describes the interpretation of the QNames in the
XPath: it has no bearing on the interpretation of names in the document.
so in the XPath /a/b/c refers to elements in the null namespace (or,
more properly, elements in no namespace).
> can only find <c> with the XPath expression
> /*:a/*:b/*:c
Nope you can not do that as there is no *: construct to wildcard over
namespaces.
If you really don't want to declare a namespace then
/*[local-name(.)='a']/*[local-name(.)='b']/*[local-name(.)='c']
will get you there.
> This seems unfortunate for non-XSLT uses of XPath.
No, it just means that any API for qurying into namespace aware documents
with XPath had better offer a mechanism for setting up the current
namespace/prefix bindings.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.