#!/usr/bin/python -u import libxml2 import sys # Memory debug specific libxml2.debugMemory(1) schema=""" A foo element. """ instance=""" """ rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema)) rngs = rngp.relaxNGParse() ctxt = rngs.relaxNGNewValidCtxt() doc = libxml2.parseDoc(instance) ret = doc.relaxNGValidateDoc(ctxt) if ret != 0: print "error doing RelaxNG validation" sys.exit(1) doc.freeDoc() del rngp del rngs del ctxt libxml2.relaxNGCleanupTypes() # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print "OK" else: print "Memory leak %d bytes" % (libxml2.debugMemory(1)) libxml2.dumpMemory()