# File rexml/doctype.rb, line 111
  def DocType.parse_stream source, listener
			md = source.match( PATTERN_RE, true )
			identity = md[1]
			close = md[2]

			identity =~ IDENTITY
			name = $1

			raise "DOCTYPE is missing a name" if name.nil?

			pub_sys = $2.nil? ? nil : $2.strip
			long_name = $3.nil? ? nil : $3.strip
			uri = $4.nil? ? nil : $4.strip

			listener.doctype name, pub_sys, long_name, uri
			return if close == ">"
			parse_entities_source source, listener
		end