Skip to content

Latest commit

 

History

History
41 lines (21 loc) · 1.92 KB

principe.md

File metadata and controls

41 lines (21 loc) · 1.92 KB

Principe de fonctionnement du validateur

1) Chargement du modèle de document

Le modèle de document (DocumentModel) est chargé à partir de son URL renseignée par l'option --model=<DOCUMENT_MODEL_URL>.

2) Préparation d'un dossier de validation

Le validateur prépare un répertoire de travail pour la validation où il écrira :

  • Le rapport de validation (validation/validation.jsonl) avec une erreur au format JSON par ligne (voir JSON Lines)
  • Un répertoire contenant les fichiers normalisés (validation/DATA)

3) Énumération des fichiers avec des extensions supportées

Le validateur liste les fichiers (DocumentFile) ayant des extensions connues dans le document à valider (dossier --input).

4) Recherche des modèles de fichier correspondant aux fichiers

Le validateur recherche le modèle de fichier (FileModel) correspondant aux DocumentFile trouvés à l'étape précédente.

5) Validation des fichiers en fonction des modèles

Le validateur effectue une validation sur chaque DocumentFile ayant un FileModel associé.

Dans le cas des tables (FileModel de type TableModel), le validateur valide le contenu en fonction du FeatureType décrivant la table.

On soulignera que la validation des types d'attributs repose sur la possibilité de convertir une valeur dans le type décrit. Pour résumer : false, f et 0 sont des booléens, tutu n'est pas un booléen.

6) Création d'une base de données de validation

Les tables sont chargées dans une base de validation pour les contrôles d'ensemble sur les données.

7) Validation des contraintes d'ensemble à l'aide de la base de validation

Les contraintes d'ensemble (unicité, référence,...) sont validées à l'aide de la base de validation.

8) Normalisation des données

Le validateur génère un dossier validation/DATA contenant "à plat" tous les fichiers validés et normalisés.