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 / dtdvalid.py < prev    next >
Encoding:
Python Source  |  2004-11-10  |  616 b   |  33 lines

  1. #!/usr/bin/python -u
  2. import libxml2
  3. import sys
  4.  
  5. # Memory debug specific
  6. libxml2.debugMemory(1)
  7.  
  8. dtd="""<!ELEMENT foo EMPTY>"""
  9. instance="""<?xml version="1.0"?>
  10. <foo></foo>"""
  11.  
  12. dtd = libxml2.parseDTD(None, 'test.dtd')
  13. ctxt = libxml2.newValidCtxt()
  14. doc = libxml2.parseDoc(instance)
  15. ret = doc.validateDtd(ctxt, dtd)
  16. if ret != 1:
  17.     print "error doing DTD validation"
  18.     sys.exit(1)
  19.  
  20. doc.freeDoc()
  21. dtd.freeDtd()
  22. del dtd
  23. del ctxt
  24.  
  25. # Memory debug specific
  26. libxml2.cleanupParser()
  27. if libxml2.debugMemory(1) == 0:
  28.     print "OK"
  29. else:
  30.     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
  31.     libxml2.dumpMemory()
  32.  
  33.