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