def test_ignorable(): p = XMLValParserFactory.make_parser() i = InputSource("doc3.xml") i.setByteStream(StringIO(doc3)) h = H() p.setContentHandler(h) p.parse(i) return h.passed
def test_illformed(): p = XMLValParserFactory.make_parser() i = InputSource("doc2.xml") i.setByteStream(StringIO(doc2)) try: p.parse(i) except SAXException,e: print "PASS:",e return 1
def make_parser(validating): """ Function to generate an XML parser. First it will be tried to generate a validating parser. If this attempt fails, a non validating parser is tried next. @param validating flag indicating a validating parser is requested @return XML parser object """ if validating: # see if we have a working validating parser available try: import _xmlplus except ImportError: validating = False else: try: v = _xmlplus.version_info except AttributeError: validating = False else: if v < (0, 8, 3): validating = False if validating: try: from xml.sax.sax2exts import XMLValParserFactory return XMLValParserFactory.make_parser() except ImportError: from xml.sax import make_parser as sax_make_parser return sax_make_parser() else: from xml.sax import make_parser as sax_make_parser return sax_make_parser()