tDTDValidator

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Integration
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Fonction

Le composant tDTDValidator valide un fichier XML entrant en fonction d'une DTD et envoie les informations de validation à la sortie définie.

Objectif

Ce composant permet de vérifier les données et la qualité de la structure du fichier traité.

Propriétés du tDTDValidator

Famille de composant

XML

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant.

Le schéma de ce composant est en lecture seule. Il contient les informations standard de validation de fichier.

 

DTD file

Chemin d'accès au fichier DTD de référence.

 

XML file

Chemin d'accès au fichier XML à valider.

 

If XML is valid, display If XML is invalid, display

Saisissez un message à afficher dans la console Run basé sur le résultat de la comparaison.

 

Print to console

Cochez cette case pour afficher le message de validation.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

DIFFERENCE : résultat de la validation. Cette variable est une variable Flow et retourne une chaîne de caractères.

VALID : résultat de la validation. Cette variable est une variable Flow et retourne un booléen.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant peut être utilisé en standalone mais il est généralement connecté à un composant de sortie pour rassembler les informations de validation.

Scénario : Valider un fichier XML

Ce scénario décrit un Job permettant de valider plusieurs fichiers d'un répertoire et de transmettre les informations de validation des fichiers non valides dans un fichier délimité.

  • Cliquez et déposez les composants suivants de la Palette : tFileList, tDTDValidator, tMap, tFileOutputDelimited.

  • Connectez le tFileList et le tDTDValidator avec un lien Iterate et les composants restants avec des liens Row Main.

  • Paramétrez les propriétés du composant tFileList afin qu'il récupère les fichiers XML du répertoire.

  • Dans le champ Filemask, saisissez le masque *.xml entre guillemets doubles.

  • Paramétrez le chemin d'accès des fichiers XML à vérifier.

  • Décochez la case Case Sensitive.

  • Dans la vue Component du composant tDTDValidate, le schéma est en lecture seule puisqu'il contient des informations de validation standard.

  • Paramétrez les propriétés du fichier DTD à utiliser comme référence, dans le champ DTD file.

  • Dans le champ Xml file, appuyez sur Ctrl+Espace pour accéder à la liste des variables globales et sélectionnez la variable permettant de récupérer le chemin d'accès des fichiers : ((String)globalMap.get("tFileList_1_CURRENT_FILE"))

  • Dans les divers messages à afficher dans la console Run, utilisez JobName pour afficher le libellé du Job. Rappelez aussi le nom du fichier grâce à la variable : ((String)globalMap.get("tFileList_1_CURRENT_FILE")).

  • Cochez la case Print to Console.

  • Dans le composant tMap, glissez-déposez les informations de validation du schéma standard que vous souhaitez passer au fichier de sortie.

  • Une fois que le schéma de sortie est défini, ajoutez un filtre de condition pour ne sélectionner que les informations lorsque le fichier XML n'est pas valide.

  • Saisissez d'abord la valeur souhaitée pour cette variable, l'opérateur en fonction du type de données filtrées puis la variable devant correspondre à cette condition, ici : 0 == $row1[validate]

  • Puis (si cela n'est pas déjà effectué) connectez le tMap au tFileOutputDelimited via un lien Row > Main. Nommez-le errorsOnly.

  • Dans l'onglet Basic settings du composant tFileOutputDelimited, paramétrez le chemin d'accès de destination du fichier délimité, les séparateurs de champs et l'encodage.

  • Enregistrez le Job et appuyez sur F6 pour l'exécuter.

Dans la console de la vue Run, les messages définis apparaissent pour chaque fichier invalide. Au même moment, le fichier de sortie est alimenté avec les informations de validation.