Sha256: e3875d02642a2020f0c279434ea2bf115ba5857c8276cecb842c7ddfd54d3720

Contents?: true

Size: 680 Bytes

Versions: 1

Compression:

Stored size: 680 Bytes

Contents

require "xaalns"
module RXaal
  class NSContainer
    include Enumerable
    
    attr_reader :namespaces, :name_to_ns, :uri_to_ns
    
    def initialize
      @namespaces = Array.new
      @name_to_ns = Hash.new
      @uri_to_ns = Hash.new
    end
    
    def add_ns (uri, prefix="")
      ns = XaalNS.new(uri, prefix)
      if @uri_to_ns[uri] != nil
        namespaces = @namespaces.collect { |i| i != @uri_to_ns[uri]}
        @namespaces = namespaces
      end
      @namespaces.push(ns)
      @uri_to_ns[uri] = ns
      @name_to_ns[prefix] = ns
      return ns
    end
    
    def each
      self.namespaces.each {|n| yield n}
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
RXAAL-0.0.1 lib/ns_container.rb