Annotation of embedaddon/libxml2/python/tests/relaxng.py, revision 1.1.1.1

1.1       misho       1: #!/usr/bin/python -u
                      2: import libxml2
                      3: import sys
                      4: 
                      5: # Memory debug specific
                      6: libxml2.debugMemory(1)
                      7: 
                      8: schema="""<?xml version="1.0"?>
                      9: <element name="foo"
                     10:          xmlns="http://relaxng.org/ns/structure/1.0"
                     11:          xmlns:a="http://relaxng.org/ns/annotation/1.0"
                     12:          xmlns:ex1="http://www.example.com/n1"
                     13:          xmlns:ex2="http://www.example.com/n2">
                     14:   <a:documentation>A foo element.</a:documentation>
                     15:   <element name="ex1:bar1">
                     16:     <empty/>
                     17:   </element>
                     18:   <element name="ex2:bar2">
                     19:     <empty/>
                     20:   </element>
                     21: </element>
                     22: """
                     23: instance="""<?xml version="1.0"?>
                     24: <foo><pre1:bar1 xmlns:pre1="http://www.example.com/n1"/><pre2:bar2 xmlns:pre2="http://www.example.com/n2"/></foo>"""
                     25: 
                     26: rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
                     27: rngs = rngp.relaxNGParse()
                     28: ctxt = rngs.relaxNGNewValidCtxt()
                     29: doc = libxml2.parseDoc(instance)
                     30: ret = doc.relaxNGValidateDoc(ctxt)
                     31: if ret != 0:
                     32:     print "error doing RelaxNG validation"
                     33:     sys.exit(1)
                     34: 
                     35: doc.freeDoc()
                     36: del rngp
                     37: del rngs
                     38: del ctxt
                     39: libxml2.relaxNGCleanupTypes()
                     40: 
                     41: # Memory debug specific
                     42: libxml2.cleanupParser()
                     43: if libxml2.debugMemory(1) == 0:
                     44:     print "OK"
                     45: else:
                     46:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
                     47:     libxml2.dumpMemory()
                     48: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>