# File lib/rubyful_soup.rb, line 591
  def unknown_starttag(name, attrs)
    #puts "Starting tag #{name} #{attrs.inspect}"

    unless @quote_stack.empty?
      #This is not a real tag.
      #puts "<#{name}> is not real!"
      #TODO: find idiomatic way to do this
      attrString = []
      attrs.each { |k,v| attrString.push('#{k}="#{v}"') }
      self.handle_data('<#{name} #{attrString.join(' ')}>')
      return
    end

    end_text

    return unless !@parse_only_these or @tag_stack.size > 1 or @parse_only_these.member?(name)
    self_closing = @@self_closing_tags.has_key?(name)
    smart_pop(name) unless self_closing
    tag = Tag.new(self, name, attrs, @currentTag, @previous_parsed)
    @previous_parsed.next_parsed = tag if @previous_parsed
    @previous_parsed = tag
    push_tag(tag)
    pop_tag if self_closing
    if @@quoteTags.has_key?(name)
      #puts "Beginning quote (#{name})"
      @quote_stack.push(name)
    end
  end