in reply to Re: Using XPaths with XML::LibXML and XPathContext
in thread Using XPaths with XML::LibXML and XPathContext

I get it now. (I was getting confused between the namespace DAV: and the namespace DAV, duh!)

Is it compulsory to register a namespace prefix? I can seem to find no way of using a fully qualified XPath. For a namespace NS calling registerNs(NS, NS) works. Is that the only way?

  • Comment on Re^2: Using XPaths with XML::LibXML and XPathContext

Replies are listed 'Best First'.
Re^3: Using XPaths with XML::LibXML and XPathContext
by Anonymous Monk on Jun 03, 2015 at 01:30 UTC

    I get it now. (I was getting confused between the namespace DAV: and the namespace DAV, duh!) Is it compulsory to register a namespace prefix? I can seem to find no way of using a fully qualified XPath. For a namespace NS calling registerNs(NS, NS) works. Is that the only way?

    If you want to use a prefix in xpath, a prefix that doesn't occur in the xml, you have to register it

    You don't have to use a prefix in xpath, just write longer xpath

    //*[ local-name() != 'propfind' and contains(local-name(), 'prop') and namespace-uri() = 'DAV:' ]

    It all works the same