lib/happymapper.rb in happymapper-0.1.4 vs lib/happymapper.rb in happymapper-0.1.6
- old
+ new
@@ -3,11 +3,11 @@
require 'date'
require 'time'
require 'rubygems'
-gem 'libxml-ruby', '>= 0.8.3'
+gem 'libxml-ruby', '>= 0.9.7'
require 'xml'
require 'libxml_ext/libxml_helper'
class Boolean; end
@@ -73,11 +73,21 @@
node.register_default_namespace(namespace.chop)
node.find("#{namespace}#{get_tag_name}")
else
doc.find("//#{get_tag_name}")
end
-
+
+ nodes = if namespace
+ node = doc.respond_to?(:root) ? doc.root : doc
+ node.register_default_namespace(namespace.chop)
+ node.find("#{namespace}#{get_tag_name}")
+ else
+ nested = '.' unless doc.respond_to?(:root)
+ path = "#{nested}//#{get_tag_name}"
+ doc.find(path)
+ end
+
collection = create_collection(nodes, namespace)
# per http://libxml.rubyforge.org/rdoc/classes/LibXML/XML/Document.html#M000354
nodes = nil
GC.start
@@ -118,6 +128,6 @@
end
end
require 'happymapper/item'
require 'happymapper/attribute'
-require 'happymapper/element'
\ No newline at end of file
+require 'happymapper/element'