Hi, The last paragraph of §8.1.1 (Create a Node → General Considerations) seems needlessly strict to me. It begins:
Note: When a service successfully creates a node on behalf of the requesting entity, it MUST return an IQ result.
Fine, if a bit paranoid to state it. :)
If the node creation request did not specify a NodeID and the service supports creation of instant nodes, the service MUST specify the created NodeID in the IQ result. Similarly, if the node creation request specified a NodeID but the service modified the NodeID before creating the node, the service MUST also specify the modified node in the IQ result.
Yep, seems sensible to point out both that the server is allowed to use a different NodeID than you asked for and that it has to tell you when it does so. But finally:
In all other cases, the service MUST NOT specify the NodeID in the IQ result (since the node creator can determine which node was created by tracking the 'id' attribute that it specified for the IQ-set).
Seems a bit over the top to make this a MUST. I can't see that it makes client code any easier. Anyone have any rationale? Regards, -- Will