def Node_insertBefore(node, tmp, oldNode): # Work around libxml2 tendency to merge text nodes and free nodes silently. if libxml2mod.type(tmp) == "text": placeholder = libxml2mod.xmlNewNode("tmp") placeholder = libxml2mod.xmlAddPrevSibling(oldNode, placeholder) libxml2mod.xmlReplaceNode(placeholder, tmp) return tmp else: return libxml2mod.xmlAddPrevSibling(oldNode, tmp)