When creating an attribute node using createAttribute() or
createAttributeNS(), use the parallel setAttributeNode() or
setAttributeNodeNS() to add the node to the document -- do not assume
that setAttributeNode() will operate properly for both.
diff --git a/Lib/xml/dom/pulldom.py b/Lib/xml/dom/pulldom.py
index d7280ee..d71f6df 100644
--- a/Lib/xml/dom/pulldom.py
+++ b/Lib/xml/dom/pulldom.py
@@ -83,10 +83,11 @@
else:
qname = a_localname
attr = self.document.createAttributeNS(a_uri, qname)
+ node.setAttributeNodeNS(attr)
else:
attr = self.document.createAttribute(a_localname)
+ node.setAttributeNode(attr)
attr.value = value
- node.setAttributeNode(attr)
self.lastEvent[1] = [(START_ELEMENT, node), None]
self.lastEvent = self.lastEvent[1]