Forum: Ruby REXML XPath question

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D3b4725790422f6105605215a9885569?d=identicon&s=25 Ja Ha (del)
on 2007-06-25 23:06
Can anyone explain these result to me (see bottom)?

require 'rexml//document'
d = REXML::Document.new %{
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:foo="uniq"
xml:lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"
/>
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <title>test</title>
</head>
<body>
    <p id="foo">3</p>
    <p id="bar">4</p>
    <div id="div">
        <p id="baz" foo:attr="here">5</p>
        <p id="bat" class="wag">6</p>
    </div>
</body>
</html>
}

REXML::XPath.match d, "/html/body/p[@id='foo']"
#-> []

REXML::XPath.match d, "/html/body/p[@id]"
#-> []

REXML::XPath.match d, "/html/body/p[@*]"
#-> [<p id='foo'> ... </>, <p id='bar'> ... </>]
D3b4725790422f6105605215a9885569?d=identicon&s=25 Ja Ha (del)
on 2007-06-25 23:32
OK I just removed xmlns="http://www.w3.org/1999/xhtml" from the <html>
tag (the default namespace) and now it works.

Is this a bug?
D3b4725790422f6105605215a9885569?d=identicon&s=25 Ja Ha (del)
on 2007-06-26 00:18
Wow, 2 replies from myself...

I just found out that XPath 1.0 does not work correctly with a default
namespace. So this is "correct" behavior.
This topic is locked and can not be replied to.