# File lib/asciidoctor/document.rb, line 842
  def set_attribute name, value = ''
    if attribute_locked? name
      false
    else
      if @max_attribute_value_size
        resolved_value = (apply_attribute_value_subs value).limit_bytesize @max_attribute_value_size
      else
        resolved_value = apply_attribute_value_subs value
      end
      case name
      when 'backend'
        update_backend_attributes resolved_value, (@attributes_modified.delete? 'htmlsyntax')
      when 'doctype'
        update_doctype_attributes resolved_value
      else
        @attributes[name] = resolved_value
      end
      @attributes_modified << name
      resolved_value
    end
  end