Libxml-ruby namespace problem

I’m trying to use libxml-ruby on cygwin. The XML I want to parse
has a namespace declaration on the root node, but this namespace isn’t
given a prefix.

My problem is that when I try to match elements using e.g.
XML::Document#find, it won’t match any.

If I specified a prefix for the document’s NS in the XML file, and used
element names qualified by that prefix in the xpath expression, it finds
what I’m looking for. Also, if I remove the NS declaration from the root
node, then it finds elements with unspecified names in the xpath

Too bad I can’t tweak the XML input I’d have to handle like I can with
test files.

So my question is, how can I have libxml-ruby to ignore the namespace on
the document and find elements using unqualified names; or how can I
specify what namespace it should assume for the unqualified names in the

The docs mention a namespace parameter to the #find method, but I was
unable to figure out how I’m supposed to specify the NS there.


Follow-up to myself:

Actually, libxml-ruby won’t find what I’m looking for if either a
namespace or a DOCTYPE declaration is present in the document. I had to
remove both to get results.

If I have only the DOCTYPE in the document, it doesn’t raise an
exception for e.g. the document not conforming to the specified DTD, it
just returns empty result sets.