# File htree/name.rb, line 60
    def initialize(namespace_prefix, namespace_uri, local_name)
      @namespace_prefix = namespace_prefix
      @namespace_uri = namespace_uri
      @local_name = local_name
      if @namespace_prefix && /\A#{Pat::Nmtoken}\z/o !~ @namespace_prefix
        raise HTree::Error, "invalid namespace prefix: #{@namespace_prefix.inspect}"
      end
      if @local_name && /\A#{Pat::Nmtoken}\z/o !~ @local_name
        raise HTree::Error, "invalid local name: #{@local_name.inspect}"
      end
      if @namespace_prefix == 'xmlns'
        unless @namespace_uri == nil
          raise HTree::Error, "Name object for xmlns:* must not have namespace URI: #{@namespace_uri.inspect}"
        end
      else
        unless String === @namespace_uri 
          raise HTree::Error, "invalid namespace URI: #{@namespace_uri.inspect}"
        end
      end
    end