home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / python-libxml2 / examples / push.py < prev    next >
Encoding:
Python Source  |  2002-03-03  |  765 b   |  36 lines

  1. #!/usr/bin/python -u
  2. import sys
  3. import libxml2
  4.  
  5. # Memory debug specific
  6. libxml2.debugMemory(1)
  7.  
  8. ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
  9. ctxt.parseChunk("/>", 2, 1)
  10. doc = ctxt.doc()
  11. ctxt=None
  12. if doc.name != "test.xml":
  13.     print "document name error"
  14.     sys.exit(1)
  15. root = doc.children
  16. if root.name != "foo":
  17.     print "root element name error"
  18.     sys.exit(1)
  19. doc.freeDoc()
  20. i = 10000
  21. while i > 0:
  22.     ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
  23.     ctxt.parseChunk("/>", 2, 1)
  24.     doc = ctxt.doc()
  25.     doc.freeDoc()
  26.     i = i -1
  27. ctxt=None
  28.  
  29. # Memory debug specific
  30. libxml2.cleanupParser()
  31. if libxml2.debugMemory(1) == 0:
  32.     print "OK"
  33. else:
  34.     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
  35.     libxml2.dumpMemory()
  36.