[Python-checkins] CVS: python/dist/src/Lib/xml/dom minidom.py,1.42,1.43

Fred L. Drake fdrake@users.sourceforge.net
2001年12月06日 10:27:50 -0800


Update of /cvsroot/python/python/dist/src/Lib/xml/dom
In directory usw-pr-cvs1:/tmp/cvs-serv12898/xml/dom
Modified Files:
	minidom.py 
Log Message:
Attribute nodes did not always get their ownerDocument and ownerElement
properly set. This fixes that.
Index: minidom.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/dom/minidom.py,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -d -r1.42 -r1.43
*** minidom.py	2001年12月06日 04:32:18	1.42
--- minidom.py	2001年12月06日 18:27:48	1.43
***************
*** 365,371 ****
 """
 
! def __init__(self, attrs, attrsNS):
 self._attrs = attrs
 self._attrsNS = attrsNS
 
 try:
--- 365,372 ----
 """
 
! def __init__(self, attrs, attrsNS, ownerElement):
 self._attrs = attrs
 self._attrsNS = attrsNS
+ self._ownerElement = ownerElement
 
 try:
***************
*** 431,434 ****
--- 432,436 ----
 node = Attr(attname)
 node.value = value
+ node.ownerDocument = self._ownerElement.ownerDocument
 else:
 if not isinstance(value, Attr):
***************
*** 446,449 ****
--- 448,452 ----
 self._attrs[node.name] = node
 self._attrsNS[(node.namespaceURI, node.localName)] = node
+ node.ownerElement = self._ownerElement
 return old
 
***************
*** 519,523 ****
 attr = Attr(attname)
 # for performance
! attr.__dict__["value"] = attr.__dict__["nodeValue"] = value
 self.setAttributeNode(attr)
 
--- 522,528 ----
 attr = Attr(attname)
 # for performance
! d = attr.__dict__
! d["value"] = d["nodeValue"] = value
! d["ownerDocument"] = self.ownerDocument
 self.setAttributeNode(attr)
 
***************
*** 526,530 ****
 # for performance
 attr = Attr(qualifiedName, namespaceURI, localname, prefix)
! attr.__dict__["value"] = attr.__dict__["nodeValue"] = value
 self.setAttributeNode(attr)
 
--- 531,537 ----
 # for performance
 attr = Attr(qualifiedName, namespaceURI, localname, prefix)
! d = attr.__dict__
! d["value"] = d["nodeValue"] = value
! d["ownerDocument"] = self.ownerDocument
 self.setAttributeNode(attr)
 
***************
*** 609,613 ****
 
 def _get_attributes(self):
! return AttributeList(self._attrs, self._attrsNS)
 
 try:
--- 616,620 ----
 
 def _get_attributes(self):
! return NamedNodeMap(self._attrs, self._attrsNS, self)
 
 try:

AltStyle によって変換されたページ (->オリジナル) /