# File lib/asciidoctor/parser.rb, line 2053
  def self.process_attribute_entry reader, document, attributes = nil, match = nil
    if (match ||= (reader.has_more_lines? ? (AttributeEntryRx.match reader.peek_line) : nil))
      if (value = match[2]).nil_or_empty?
        value = ''
      elsif value.end_with? LINE_CONTINUATION, LINE_CONTINUATION_LEGACY
        con, value = value.slice(-2, 2), value.slice(0, value.length - 2).rstrip
        while reader.advance && !(next_line = reader.peek_line.lstrip).empty?
          if (keep_open = next_line.end_with? con)
            next_line = (next_line.slice 0, next_line.length - 2).rstrip
          end
          value = %(#{value}#{(value.end_with? HARD_LINE_BREAK) ? LF : ' '}#{next_line})
          break unless keep_open
        end
      end

      store_attribute match[1], value, document, attributes
      true
    end
  end