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 / resolver.py < prev    next >
Encoding:
Python Source  |  2004-02-23  |  777 b   |  40 lines

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