Пример #1
0
    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