summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rexml/xpath_parser.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/rexml/xpath_parser.rb b/lib/rexml/xpath_parser.rb
index df9e7d58ff..47fa4ef84e 100644
--- a/lib/rexml/xpath_parser.rb
+++ b/lib/rexml/xpath_parser.rb
@@ -474,7 +474,9 @@ module REXML
raw_node = node.raw_node
case raw_node.node_type
when :element
- if prefix.empty?
+ if prefix.nil?
+ raw_node.name == name
+ elsif prefix.empty?
if strict?
raw_node.name == name and raw_node.namespace == ""
else
@@ -488,7 +490,9 @@ module REXML
raw_node.name == name and raw_node.namespace == ns
end
when :attribute
- if prefix.empty?
+ if prefix.nil?
+ raw_node.name == name
+ elsif prefix.empty?
# FIXME: This DOUBLES the time XPath searches take
raw_node.name == name and
raw_node.namespace == raw_node.element.namespace