def each_attribute(namespace = nil, &block) # :yields: namespace, key, value
      if namespace.nil?
        @attributesByNamespace.each_key { |a_namespace| each_attribute(a_namespace, &block) }
        
      else
        attributes = @attributesByNamespace[namespace]
        unless attributes.nil?
          attributes.each_pair do |key, value|
            yield namespace, key, value
          end
        end
      end
    end
def each_attribute(namespace = nil, &block) # :yields: namespace, key, value
      if namespace.nil?
        @attributesByNamespace.each_key { |a_namespace| each_attribute(a_namespace, &block) }
        
      else
        attributes = @attributesByNamespace[namespace]
        unless attributes.nil?
          attributes.each_pair do |key, value|
            yield namespace, key, value
          end
        end
      end
    end
Enumerates the attributes for the specified +namespace+.
 Enumerates all the attributes by default.