This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The following text occurs in the definition of upd:delete: "If $target has no parent, the XDM instance is unchanged. An implementation may (but is not required to) raise a dynamic error if $target had no parent before execution of the query began. [err:XUDY0020]." For the user, I think it is better if the standard defines what happens if we delete a node that does not have a parent. What barriers are there to doing this? If there is an insurmountable difficulty with defining this, we need to at least say that it is implementation defined, and needs to be documented.
Section 2.4.2 in fact says (in a Note) that it is "implementation-defined". But I fully agree with the comment, there is no reason for the WG to be indecisive on this question. I really don't care much whether deleting a parentless node is a no-op or an error, but I think the spec should define it one way or the other. Tossing a coin, I would make it a no-op (the only defined behaviour of delete is to detach from the parent, and when the initial state is the same as the desired state, a no-op seems appropriate.)
On 16 Sept 08, we decided deleting a node that is already detached is a no-op, not implementation defined, and may not be treated as an error.
I am happy with the resolution.