# File nqxml/tokenizer.rb, line 341
 def nextTagAttributes(typeName, name)
	    attrs = Hash.new()
	    skipSpaces()
	    c = peekChar()
	    while !c.nil? && c =~ /[a-zA-Z_:]/ # next legal attrib name char
		key = nextName()
		skipSpaces()
		if peekMatches?('=')
		    skipChar()
		    skipSpaces()
		    val = nextQuotedLiteral(name)
		    val = normalizeAttributeValue(val)
		else
		    val = ''
		end

		# Well-formedness constraint: attribute names may appear
		# only once.
		if !attrs[key].nil?
		    str = "malformed #{typeName} '#{name}': attribute name" +
			" '#{key}' appears more than once"
		    raise ParserError.new(str, self)
		end

		attrs[key] = val

		skipSpaces()
		c = peekChar()
	    end
	    return attrs
	end