Nikolay Sivov (@nsivov) commented about dlls/msxml3/element.c:
ns = xmlSearchNs(node->doc, node, local);xmlFree(local);if (!ns){if (item) *item = NULL;return item ? S_FALSE : E_INVALIDARG;}curr = xmlNewNsProp(NULL, NULL, ns->prefix, ns->href);if (!curr){return E_OUTOFMEMORY;}curr->doc = node->doc;unk = create_attribute((xmlNodePtr)curr, FALSE);
Why do we need to create a new node at libxml level?