#!/usr/bin/python -u import sys import libxml2 # Memory debug specific libxml2.debugMemory(1) # # Testing XML document serialization # source = libxml2.parseDoc(""" """) target = libxml2.parseDoc(""" """) fragment = source.xpathEval("//*[name()='fragment']")[0] dest = target.getRootElement() # do a cut and paste operation fragment.unlinkNode() dest.addChild(fragment) # do the namespace fixup dest.reconciliateNs(target) # The source tree can be freed at that point source.freeDoc() # check the resulting tree str = dest.serialize() if str != """""": print "reconciliateNs() failed" sys.exit(1) target.freeDoc() # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print "OK" else: print "Memory leak %d bytes" % (libxml2.debugMemory(1)) libxml2.dumpMemory()