Used original SAX handling form.
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py
index 337ff03..981e511 100644
--- a/Lib/xml/dom/minidom.py
+++ b/Lib/xml/dom/minidom.py
@@ -41,7 +41,7 @@
             Node.allnodes[index]=repr( self.__dict__ )
             if Node.debug==None:
                 Node.debug=StringIO()
-		#open( "debug4.out", "w" )
+                #open( "debug4.out", "w" )
             Node.debug.write( "create %s\n"%index )
 
     def __getattr__( self, key ):
@@ -230,7 +230,7 @@
         else:
             assert isinstance( value, Attr ) or type( value )==types.StringType
             node=value
-	old=self._attrs.get( attname, None)
+        old=self._attrs.get( attname, None)
         if old:
             old.unlink()
         self._attrs[node.name]=node
diff --git a/Lib/xml/dom/pulldom.py b/Lib/xml/dom/pulldom.py
index 0c047f6..1f7c699 100644
--- a/Lib/xml/dom/pulldom.py
+++ b/Lib/xml/dom/pulldom.py
@@ -22,7 +22,7 @@
 
     def setDocumentLocator( self, locator ): pass
 
-    def startElement( self, tagName , attrs  ):
+    def startElement( self, name, tagName , attrs  ):
         if not hasattr( self, "curNode" ):
             # FIXME: hack!
             self.startDocument( )
@@ -42,7 +42,7 @@
         self.lastEvent=self.lastEvent[1]
         #self.events.append( (START_ELEMENT, node) )
 
-    def endElement( self, name ):
+    def endElement( self, name, tagName ):
         node = self.curNode
         self.lastEvent[1]=[(END_ELEMENT, node), None ]
         self.lastEvent=self.lastEvent[1]
diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
index b6816a4..f7517b1 100644
--- a/Lib/xml/sax/expatreader.py
+++ b/Lib/xml/sax/expatreader.py
@@ -101,8 +101,8 @@
             self._parser.EndElementHandler = self.end_element_ns
         else:
             self._parser = pyexpat.ParserCreate()
-            self._parser.StartElementHandler = self._cont_handler.startElement
-            self._parser.EndElementHandler = self._cont_handler.endElement
+            self._parser.StartElementHandler = self.start_element
+            self._parser.EndElementHandler = self.end_element
 
         self._parser.ProcessingInstructionHandler = \
                                     self._cont_handler.processingInstruction
@@ -133,25 +133,22 @@
     def getSystemId(self):
         return self._parser.GetBase()
     
-    # internal methods
-
     # event handlers
-
     def start_element(self, name, attrs):
-        self._cont_handler.startElement(name, 
+        self._cont_handler.startElement(name, name,
                                  xmlreader.AttributesImpl(attrs, attrs))
 
     def end_element(self, name):
-        self._cont_handler.endElement(name)
+        self._cont_handler.endElement( name, name )
 
     def start_element_ns(self, name, attrs):
         pair = split(name)
         if len(pair) == 1:
-            tup = (None, name, None)
+            tup = (None, name )
         else:
-            tup = pair+[None] # prefix is not implemented yet!
+            tup = pair
 
-        self._cont_handler.startElement(tup,
+        self._cont_handler.startElement(tup, None,
                                         xmlreader.AttributesImpl(attrs, None))        
 
     def end_element_ns(self, name):
@@ -161,11 +158,13 @@
         else:
             name = pair+[None] # prefix is not implemented yet!
             
-        self._cont_handler.endElement(name)
+        self._cont_handler.endElement(name, None)
 
+    # this is not used
     def processing_instruction(self, target, data):
         self._cont_handler.processingInstruction(target, data)
 
+    # this is not used
     def character_data(self, data):
         self._cont_handler.characters(data)