Merge changes up to 1.10 from PyXML:
- implement hasAttribute and hasAttributeNS (1.7)
- Node.replaceChild(): Update the sibling nodes to point to newChild. Set
the .nextSibling attribute on oldChild instead of adding a .newChild
attribute (1.9).
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py
index d078f39..98a75b9 100644
--- a/Lib/xml/dom/minidom.py
+++ b/Lib/xml/dom/minidom.py
@@ -145,8 +145,12 @@
oldChild.parentNode = None
newChild.nextSibling = oldChild.nextSibling
newChild.previousSibling = oldChild.previousSibling
- oldChild.newChild = None
+ oldChild.nextSibling = None
oldChild.previousSibling = None
+ if newChild.previousSibling:
+ newChild.previousSibling.nextSibling = newChild
+ if newChild.nextSibling:
+ newChild.nextSibling.previousSibling = newChild
return oldChild
def removeChild(self, oldChild):
@@ -463,6 +467,12 @@
del self._attrs[node.name]
del self._attrsNS[(node.namespaceURI, node.localName)]
+ def hasAttribute(self, name):
+ return self._attrs.has_key(name)
+
+ def hasAttributeNS(self, namespaceURI, localName):
+ return self._attrsNS.has_key((namespaceURI, localName))
+
def getElementsByTagName(self, name):
return _getElementsByTagNameHelper(self, name, [])