def setValidityErrorHandler(self, err_func, warn_func, arg=None):
     """
     Register error and warning handlers for DTD validation.
     These will be called back as f(msg,arg)
     """
     libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)

def error(msg, data):
    pass


# Memory debug specific
libxml2.debugMemory(1)

dtd = """<!ELEMENT foo EMPTY>"""
instance = """<?xml version="1.0"?>
<foo></foo>"""

dtd = libxml2.parseDTD(None, 'test.dtd')
ctxt = libxml2.newValidCtxt()
libxml2mod.xmlSetValidErrors(ctxt._o, error, error)
doc = libxml2.parseDoc(instance)
ret = doc.validateDtd(ctxt, dtd)
if ret != 1:
    print "error doing DTD validation"
    sys.exit(1)

doc.freeDoc()
dtd.freeDtd()
del dtd
del ctxt

# Memory debug specific
libxml2.cleanupParser()
if libxml2.debugMemory(1) == 0:
    print "OK"
示例#3
0
文件: tstmem.py 项目: 2bj/MNPP
import libxml2mod
import sys

def error(msg, data):
    pass

# Memory debug specific
libxml2.debugMemory(1)

dtd="""<!ELEMENT foo EMPTY>"""
instance="""<?xml version="1.0"?>
<foo></foo>"""

dtd = libxml2.parseDTD(None, 'test.dtd')
ctxt = libxml2.newValidCtxt()
libxml2mod.xmlSetValidErrors(ctxt._o, error, error)
doc = libxml2.parseDoc(instance)
ret = doc.validateDtd(ctxt, dtd)
if ret != 1:
    print "error doing DTD validation"
    sys.exit(1)

doc.freeDoc()
dtd.freeDtd()
del dtd
del ctxt

# Memory debug specific
libxml2.cleanupParser()
if libxml2.debugMemory(1) == 0:
    print "OK"
示例#4
0
 def setValidityErrorHandler(self, err_func, warn_func, arg=None):
     """
     Register error and warning handlers for DTD validation.
     These will be called back as f(msg,arg)
     """
     libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)