Removing XML document nodes


remove() removes the XML document node that the writer lock is positioned to, and repositions the writer lock to its parent node. If the writer lock is positioned on the document's root node, the document becomes empty, and the writer lock has no XML document node position.


When an XPath nodeset gets created by a writer lock: calling remove() invalidates all nodes in XPath nodesets which were affected by the removal. Other nodes remain. The nodesets' sizes do not change. For example: a nodeset had five nodes and one of them were removed. The nodeset's count() is still 5, but a to_node() to the removed node throws an exception (and succeeds normally for the other four).