# 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