def create_validator(schema_filename=None, schema_dir=None):
    """Crea el validador necesario para inicializar un objeto DataJson.

    Para poder resolver referencias inter-esquemas, un Validador requiere
    que se especifique un RefResolver (Resolvedor de Referencias) con el
    directorio base (absoluto) y el archivo desde el que se referencia el
    directorio.

    Para poder validar formatos, un Validador requiere que se provea
    explícitamente un FormatChecker. Actualmente se usa el default de la
    librería, jsonschema.FormatChecker().

    Args:
        schema_filename (str): Nombre del archivo que contiene el esquema
            validador "maestro".
        schema_dir (str): Directorio (absoluto) donde se encuentra el
            esquema validador maestro y sus referencias, de tenerlas.

    Returns:
        Draft4Validator: Un validador de JSONSchema Draft #4. El validador
            se crea con un RefResolver que resuelve referencias de
            `schema_filename` dentro de `schema_dir`.
    """
    schema_filename = schema_filename or DEFAULT_CATALOG_SCHEMA_FILENAME
    schema_dir = schema_dir or ABSOLUTE_SCHEMA_DIR
    schema_path = os.path.join(schema_dir, schema_filename)
    schema = readers.read_json(schema_path)

    # Según https://github.com/Julian/jsonschema/issues/98
    # Permite resolver referencias locales a otros esquemas.
    if platform.system() == 'Windows':
        base_uri = "file:///" + schema_path.replace("\\", "/")
    else:
        base_uri = "file://" + schema_path
    resolver = jsonschema.RefResolver(base_uri=base_uri, referrer=schema)

    format_checker = jsonschema.FormatChecker()

    validator = jsonschema.Draft4Validator(
        schema=schema, resolver=resolver, format_checker=format_checker)

    return validator
Crea el validador necesario para inicializar un objeto DataJson.

    Para poder resolver referencias inter-esquemas, un Validador requiere
    que se especifique un RefResolver (Resolvedor de Referencias) con el
    directorio base (absoluto) y el archivo desde el que se referencia el
    directorio.

    Para poder validar formatos, un Validador requiere que se provea
    explícitamente un FormatChecker. Actualmente se usa el default de la
    librería, jsonschema.FormatChecker().

    Args:
        schema_filename (str): Nombre del archivo que contiene el esquema
            validador "maestro".
        schema_dir (str): Directorio (absoluto) donde se encuentra el
            esquema validador maestro y sus referencias, de tenerlas.

    Returns:
        Draft4Validator: Un validador de JSONSchema Draft #4. El validador
            se crea con un RefResolver que resuelve referencias de
            `schema_filename` dentro de `schema_dir`.