You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

sax2exts.py 1019B

12345678910111213141516171819202122232425262728293031323334
  1. """
  2. Various extensions to the core SAX 2.0 API.
  3. $Id: sax2exts.py,v 1.4 2001/03/03 07:30:06 loewis Exp $
  4. """
  5. import saxexts,saxlib
  6. # In SAX2, validation is turned-on through a property. Make sure
  7. # that all parsers returned from this factory are validating
  8. class ValidatingReaderFactory(saxexts.ParserFactory):
  9. def make_parser(self, parser_list = []):
  10. p = saxexts.ParserFactory.make_parser(self,parser_list)
  11. p.setFeature(saxlib.feature_validation, 1)
  12. return p
  13. # --- XMLReader factory
  14. XMLReaderFactory = saxexts.ParserFactory
  15. # --- Creating parser factories
  16. XMLParserFactory = XMLReaderFactory(["xml.sax.drivers2.drv_pyexpat",
  17. "xml.sax.drivers2.drv_xmlproc"])
  18. XMLValParserFactory = ValidatingReaderFactory(["xml.sax.drivers2.drv_xmlproc"])
  19. HTMLParserFactory = XMLReaderFactory([])
  20. SGMLParserFactory = XMLReaderFactory([])
  21. def make_parser(parser_list = []):
  22. return XMLParserFactory.make_parser(parser_list)