def validate(self, element, onerror='raise'): (namespace, name) = ns.split(element.tag) validator = self.schemas[namespace]['validator'] if validator is None: validator = ET.XMLSchema(self.schemas[namespace]['root']) self.schemas[namespace]['validator'] = validator errlog = None if validator(element) == False: errlog = validator.error_log if onerror == 'log': log.error('Schema Validation Error: %s', str(errlog)) elif onerror == 'pass': pass else: raise SchemaValidationError(errlog) return errlog