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?