version 1.1, 2012/02/21 23:38:00
|
version 1.1.1.2, 2014/06/15 19:53:34
|
Line 3
|
Line 3
|
# this tests the entities substitutions with the XmlTextReader interface |
# this tests the entities substitutions with the XmlTextReader interface |
# |
# |
import sys |
import sys |
import StringIO |
|
import libxml2 |
import libxml2 |
|
try: |
|
import StringIO |
|
str_io = StringIO.StringIO |
|
except: |
|
import io |
|
str_io = io.StringIO |
|
|
schema="""<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" |
schema="""<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" |
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> |
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> |
Line 41 docstr="""<foo>
|
Line 46 docstr="""<foo>
|
<item>100</item> |
<item>100</item> |
</foo>""" |
</foo>""" |
|
|
f = StringIO.StringIO(docstr) | f = str_io(docstr) |
input = libxml2.inputBuffer(f) |
input = libxml2.inputBuffer(f) |
reader = input.newTextReader("correct") |
reader = input.newTextReader("correct") |
reader.RelaxNGSetSchema(rngs) |
reader.RelaxNGSetSchema(rngs) |
Line 50 while ret == 1:
|
Line 55 while ret == 1:
|
ret = reader.Read() |
ret = reader.Read() |
|
|
if ret != 0: |
if ret != 0: |
print "Error parsing the document" | print("Error parsing the document") |
sys.exit(1) |
sys.exit(1) |
|
|
if reader.IsValid() != 1: |
if reader.IsValid() != 1: |
print "Document failed to validate" | print("Document failed to validate") |
sys.exit(1) |
sys.exit(1) |
|
|
# |
# |
Line 84 def callback(ctx, str):
|
Line 89 def callback(ctx, str):
|
err = err + "%s" % (str) |
err = err + "%s" % (str) |
libxml2.registerErrorHandler(callback, "") |
libxml2.registerErrorHandler(callback, "") |
|
|
f = StringIO.StringIO(docstr) | f = str_io(docstr) |
input = libxml2.inputBuffer(f) |
input = libxml2.inputBuffer(f) |
reader = input.newTextReader("error") |
reader = input.newTextReader("error") |
reader.RelaxNGSetSchema(rngs) |
reader.RelaxNGSetSchema(rngs) |
Line 93 while ret == 1:
|
Line 98 while ret == 1:
|
ret = reader.Read() |
ret = reader.Read() |
|
|
if ret != 0: |
if ret != 0: |
print "Error parsing the document" | print("Error parsing the document") |
sys.exit(1) |
sys.exit(1) |
|
|
if reader.IsValid() != 0: |
if reader.IsValid() != 0: |
print "Document failed to detect the validation error" | print("Document failed to detect the validation error") |
sys.exit(1) |
sys.exit(1) |
|
|
if err != expect: |
if err != expect: |
print "Did not get the expected error message:" | print("Did not get the expected error message:") |
print err | print(err) |
sys.exit(1) |
sys.exit(1) |
|
|
# |
# |
Line 117 libxml2.relaxNGCleanupTypes()
|
Line 122 libxml2.relaxNGCleanupTypes()
|
# Memory debug specific |
# Memory debug specific |
libxml2.cleanupParser() |
libxml2.cleanupParser() |
if libxml2.debugMemory(1) == 0: |
if libxml2.debugMemory(1) == 0: |
print "OK" | print("OK") |
else: |
else: |
print "Memory leak %d bytes" % (libxml2.debugMemory(1)) | print("Memory leak %d bytes" % (libxml2.debugMemory(1))) |
libxml2.dumpMemory() |
libxml2.dumpMemory() |