[Python-checkins] CVS: python/dist/src/Lib/xml/dom pulldom.py,1.8,1.9
Lars Marius Garshol
python-dev@python.org
Wed, 11 Oct 2000 15:34:07 -0700
Update of /cvsroot/python/python/dist/src/Lib/xml/dom
In directory slayer.i.sourceforge.net:/tmp/cvs-serv29462
Modified Files:
pulldom.py
Log Message:
Added non-ns start and end element methods.
Moved appendChild calls from DOMEventStream to PullDOM (parser indep).
Removed duplicated sibling pointer setting (duplicated in appendChild).
Index: pulldom.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/dom/pulldom.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** pulldom.py 2000/10/06 22:36:03 1.8
--- pulldom.py 2000/10/11 22:34:04 1.9
***************
*** 52,59 ****
parent = self.curNode
node.parentNode = parent
- if parent.childNodes:
- node.previousSibling = parent.childNodes[-1]
- node.previousSibling.nextSibling = node
self.curNode = node
--- 52,57 ----
parent = self.curNode
+ parent.appendChild(node)
node.parentNode = parent
self.curNode = node
***************
*** 69,79 ****
self.curNode = node.parentNode
def comment(self, s):
node = self.document.createComment(s)
parent = self.curNode
node.parentNode = parent
- if parent.childNodes:
- node.previousSibling = parent.childNodes[-1]
- node.previousSibling.nextSibling = node
self.lastEvent[1] = [(COMMENT, node), None]
self.lastEvent = self.lastEvent[1]
--- 67,99 ----
self.curNode = node.parentNode
+ def startElement(self, name, attrs):
+ node = self.document.createElement(name)
+
+ for aname,value in attrs.items():
+ attr = self.document.createAttribute(aname)
+ attr.value = value
+ node.setAttributeNode(attr)
+
+ parent = self.curNode
+ parent.appendChild(node)
+ node.parentNode = parent
+ self.curNode = node
+
+ self.lastEvent[1] = [(START_ELEMENT, node), None]
+ self.lastEvent = self.lastEvent[1]
+ #self.events.append((START_ELEMENT, node))
+
+ def endElement(self, name):
+ node = self.curNode
+ self.lastEvent[1] = [(END_ELEMENT, node), None]
+ self.lastEvent = self.lastEvent[1]
+ #self.events.append((END_ELEMENT, node))
+ self.curNode = node.parentNode
+
def comment(self, s):
node = self.document.createComment(s)
parent = self.curNode
+ parent.appendChild(node)
node.parentNode = parent
self.lastEvent[1] = [(COMMENT, node), None]
self.lastEvent = self.lastEvent[1]
***************
*** 82,92 ****
def processingInstruction(self, target, data):
node = self.document.createProcessingInstruction(target, data)
- #self.appendChild(node)
parent = self.curNode
node.parentNode = parent
- if parent.childNodes:
- node.previousSibling = parent.childNodes[-1]
- node.previousSibling.nextSibling = node
self.lastEvent[1] = [(PROCESSING_INSTRUCTION, node), None]
self.lastEvent = self.lastEvent[1]
--- 102,109 ----
def processingInstruction(self, target, data):
node = self.document.createProcessingInstruction(target, data)
parent = self.curNode
+ parent.appendChild(node)
node.parentNode = parent
self.lastEvent[1] = [(PROCESSING_INSTRUCTION, node), None]
self.lastEvent = self.lastEvent[1]
***************
*** 96,103 ****
node = self.document.createTextNode(chars[start:start + length])
parent = self.curNode
node.parentNode = parent
- if parent.childNodes:
- node.previousSibling = parent.childNodes[-1]
- node.previousSibling.nextSibling = node
self.lastEvent[1] = [(IGNORABLE_WHITESPACE, node), None]
self.lastEvent = self.lastEvent[1]
--- 113,118 ----
node = self.document.createTextNode(chars[start:start + length])
parent = self.curNode
+ parent.appendChild(node)
node.parentNode = parent
self.lastEvent[1] = [(IGNORABLE_WHITESPACE, node), None]
self.lastEvent = self.lastEvent[1]
***************
*** 106,110 ****
def characters(self, chars):
node = self.document.createTextNode(chars)
! node.parentNode = self.curNode
self.lastEvent[1] = [(CHARACTERS, node), None]
self.lastEvent = self.lastEvent[1]
--- 121,127 ----
def characters(self, chars):
node = self.document.createTextNode(chars)
! parent = self.curNode
! parent.appendChild(node)
! node.parentNode = parent
self.lastEvent[1] = [(CHARACTERS, node), None]
self.lastEvent = self.lastEvent[1]
***************
*** 161,166 ****
if cur_node is node:
return
- if token != END_ELEMENT:
- cur_node.parentNode.appendChild(cur_node)
event = self.getEvent()
--- 178,181 ----