Annotation of embedaddon/libxml2/python/tests/schema.py, revision 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" encoding="iso-8859-1"?>
        !             9: <schema xmlns = "http://www.w3.org/2001/XMLSchema">
        !            10:        <element name = "Customer">
        !            11:                <complexType>
        !            12:                        <sequence>
        !            13:                                <element name = "FirstName" type = "string" />
        !            14:                                <element name = "MiddleInitial" type = "string" />
        !            15:                                <element name = "LastName" type = "string" />
        !            16:                        </sequence>
        !            17:                        <attribute name = "customerID" type = "integer" />
        !            18:                </complexType>
        !            19:        </element>
        !            20: </schema>"""
        !            21: 
        !            22: instance="""<?xml version="1.0" encoding="iso-8859-1"?>
        !            23: <Customer customerID = "24332">
        !            24:        <FirstName>Raymond</FirstName>
        !            25:        <MiddleInitial>G</MiddleInitial>
        !            26:        <LastName>Bayliss</LastName>
        !            27: </Customer>    
        !            28: """
        !            29: 
        !            30: ctxt_parser = libxml2.schemaNewMemParserCtxt(schema, len(schema))
        !            31: ctxt_schema = ctxt_parser.schemaParse()
        !            32: ctxt_valid  = ctxt_schema.schemaNewValidCtxt()
        !            33: doc = libxml2.parseDoc(instance)
        !            34: ret = doc.schemaValidateDoc(ctxt_valid)
        !            35: if ret != 0:
        !            36:     print "error doing schema validation"
        !            37:     sys.exit(1)
        !            38: 
        !            39: doc.freeDoc()
        !            40: del ctxt_parser
        !            41: del ctxt_schema
        !            42: del ctxt_valid
        !            43: libxml2.schemaCleanupTypes()
        !            44: 
        !            45: # Memory debug specific
        !            46: libxml2.cleanupParser()
        !            47: if libxml2.debugMemory(1) == 0:
        !            48:     print "OK"
        !            49: else:
        !            50:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !            51:     libxml2.dumpMemory()
        !            52: 

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