Use the (new) buildFragment() method of the EsisBuilder rather than
implementing it all here.
diff --git a/Doc/tools/sgmlconv/esistools.py b/Doc/tools/sgmlconv/esistools.py
index 3e0ffc3..18117b5 100644
--- a/Doc/tools/sgmlconv/esistools.py
+++ b/Doc/tools/sgmlconv/esistools.py
@@ -44,7 +44,7 @@
         self.__empties = {}
         self.__is_empty = 0
         apply(xml.dom.esis_builder.EsisBuilder.__init__, (self,) + args, kw)
-        self.fragment = self.document.createDocumentFragment()
+        self.buildFragment()
 
     def feed(self, data):
         for line in string.split(data, '\n'):
@@ -75,20 +75,6 @@
                 self.__is_empty = 1
             else:
                 sys.stderr.write('Unknown event: %s\n' % line)
-
-    def push(self, node):
-        "Add node to current node and move to new node."
-
-        nodetype = node.get_nodeType()
-        if self.current_element:
-            self.current_element.insertBefore(node, None)
-        elif nodetype == xml.dom.core.TEXT_NODE:
-            if string.strip(node.get_nodeValue()):
-                self.fragment.appendChild(node)
-        else:
-            self.fragment.appendChild(node)
-        if nodetype == xml.dom.core.ELEMENT_NODE:
-            self.current_element = node
         
     def get_empties(self):
         return self.__empties.keys()