Annotation of embedaddon/libxml2/python/tests/reader5.py, revision 1.1
1.1 ! misho 1: #!/usr/bin/python -u
! 2: #
! 3: # this tests the Expand() API of the xmlTextReader interface
! 4: # this extract the Dragon bibliography entries from the XML specification
! 5: #
! 6: import libxml2
! 7: import StringIO
! 8: import sys
! 9:
! 10: # Memory debug specific
! 11: libxml2.debugMemory(1)
! 12:
! 13: expect="""<bibl id="Aho" key="Aho/Ullman">Aho, Alfred V.,
! 14: Ravi Sethi, and Jeffrey D. Ullman.
! 15: <emph>Compilers: Principles, Techniques, and Tools</emph>.
! 16: Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>"""
! 17:
! 18: f = open('../../test/valid/REC-xml-19980210.xml')
! 19: input = libxml2.inputBuffer(f)
! 20: reader = input.newTextReader("REC")
! 21: res=""
! 22: while reader.Read():
! 23: while reader.Name() == 'bibl':
! 24: node = reader.Expand() # expand the subtree
! 25: if node.xpathEval("@id = 'Aho'"): # use XPath on it
! 26: res = res + node.serialize()
! 27: if reader.Next() != 1: # skip the subtree
! 28: break;
! 29:
! 30: if res != expect:
! 31: print "Error: didn't get the expected output"
! 32: print "got '%s'" % (res)
! 33: print "expected '%s'" % (expect)
! 34:
! 35:
! 36: #
! 37: # cleanup
! 38: #
! 39: del input
! 40: del reader
! 41:
! 42: # Memory debug specific
! 43: libxml2.cleanupParser()
! 44: if libxml2.debugMemory(1) == 0:
! 45: print "OK"
! 46: else:
! 47: print "Memory leak %d bytes" % (libxml2.debugMemory(1))
! 48: libxml2.dumpMemory()
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>