diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rexml/functions.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/rexml/functions.rb b/lib/rexml/functions.rb index cd879fdd28..b84209619d 100644 --- a/lib/rexml/functions.rb +++ b/lib/rexml/functions.rb @@ -86,10 +86,14 @@ module REXML # Helper method. def Functions::get_namespace( node_set = nil ) if node_set == nil - yield @@context[:node] if defined? @@context[:node].namespace + yield @@context[:node] if @@context[:node].respond_to?(:namespace) else if node_set.respond_to? :each - node_set.each { |node| yield node if defined? node.namespace } + result = [] + node_set.each do |node| + result << yield(node) if node.respond_to?(:namespace) + end + result elsif node_set.respond_to? :namespace yield node_set end |