From: Martin v. Löwis Date: Thu, 28 Dec 2000 18:40:56 +0000 (+0000) Subject: Merge changes up to 1.10 from PyXML: X-Git-Tag: v2.1a1~474 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=156c337f665a713767fa63b6c16ee6e9dea16250;p=python 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 d078f39db3..98a75b99f1 100644 --- a/Lib/xml/dom/minidom.py +++ b/Lib/xml/dom/minidom.py @@ -145,8 +145,12 @@ class Node(_Node): 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 @@ class Element(Node): 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, [])