EDIT-OBJECT-INFO modification-request hsoname-type hsoname
This command is used to change the attributes of a Prospero object. It is followed by an arbitrary (zero or more) number of ATTRIBUTE specification lines. See the LIST command for a definition of these lines. The applies-to will always be OBJECT.
In the command, one may request to add a new instance of an attribute, delete an instance, delete all instances, or replace all instances. The modification-request will be ADD, DELETE, DELETE-ALL, or REPLACE. If you want to do more than one thing to an object in the same request (e.g., if you want to add one attribute instance and replace another), and you want to avoid letting the object exist in an intermediate and possibly inconsistent state, then you can send two EDIT-OBJECT-INFO commands in the same message, along with the ATOMIC command.
If you are deleting all instances of an attribute, then the attribute-value you specify in your ATTRIBUTE specification lines will be ignored, and will usually just be the null string. DELETE-ALL just checks for matches on the attribute name and the attribute namespace (APPLICATION, FIELD, or INTRINSIC).
DELETE, on the other hand, checks for an exact match on the attribute name, namespace, type, and value. (The current implementation does not check for sub-attributes of a value of type link.
REPLACE may be specified even if the attribute does not yet have any instances specified for it.
One may use EDIT-OBJECT-INFO to edit the BASE-TYPE attribute to remove the FILE type from it only if the file is empty (zero length), and one may remove the DIRECTORY type from it only if the directory is empty (contains no links).