See: http://groups.google.com/group/akara/browse_thread/thread/61c3dfdee4e9301b
An example template that causes the problem (with a sequence of very large files) is below. It uses pushtree to stream elements to structwriter
def main(..etc..):
..snip..
w = structwriter(indent=u"yes",stream=someStream)
feed = w.cofeed(
ROOT(
E_CURSOR(
(RDF.RDFNS, u'rdf:RDF'))))
handler = Handle(feed,..etc..)
@coroutine
def receive_nodes(..etc..):
while True:
node = yield
handler.handle(node..,..etc..)
return
target = receive_nodes(..etc..)
pushtree(doc, u'MedlineCitation', target.send,
entity_factory=entity_base)
handler.feed.close()
target.close()
return someStream.getvalue()