# File nqxml/input.rb, line 17
 def initialize(stringFileOrURI, replaceRefs, previousURI=nil)
	    if stringFileOrURI.kind_of?(String)
		@string = stringFileOrURI
		@uri = previousURI
	    elsif stringFileOrURI.kind_of?(URI)
		@uri = stringFileOrURI
		@string = @uri.fetch()
	    elsif stringFileOrURI.respond_to?(read:read) &&
		    stringFileOrURI.respond_to?(path:path)
		@uri = URI.parse(stringFileOrURI.path())
		@string = @uri.fetch()
	    else
		str = "illegal argument: #{stringFileOrURI} must be a" +
		    " String, File, or NQXML::URI"
		raise ParserError.new(str, self)
	    end

	    # All line breaks normalized on input to #xA.
  	    string.gsub!("\r\n", "\n")
  	    string.gsub!("\r", "\n")

	    @replaceRefs = replaceRefs
	    @pos = 0
	    @length = @string.length
	end