If the attribute with name AName exists, then set its value to the string AValue. If it does not exist, then create a new attribute AName with the string value with quotes. If ADefault = AValue, and WriteOnDefault = False, no attribute will be added.