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).
This commit is contained in:
Martin v. Löwis 2000-12-28 18:40:56 +00:00
parent 88b5ae0110
commit 156c337f66

View File

@ -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, [])