def validate(filename=None, ocrd_page=None, ocrd_file=None, strictness='strict', strategy='index1'):
        """
        Validates a PAGE file for consistency by filename, OcrdFile or passing OcrdPage directly.

        Arguments:
            filename (string): Path to PAGE
            ocrd_page (OcrdPage): OcrdPage instance
            ocrd_file (OcrdFile): OcrdFile instance wrapping OcrdPage
            strictness (string): 'strict', 'lax', 'fix' or 'off'
            strategy (string): Currently only 'index1'

        Returns:
            report (:class:`ValidationReport`) Report on the validity
        """
        if ocrd_page:
            validator = PageValidator(ocrd_page, strictness, strategy)
        elif ocrd_file:
            validator = PageValidator(page_from_file(ocrd_file), strictness, strategy)
        elif filename:
            validator = PageValidator(parse(filename, silence=True), strictness, strategy)
        else:
            raise Exception("At least one of ocrd_page, ocrd_file or filename must be set")
        return validator._validate()