Scénario : Créer un fichier XML à l'aide d'une boucle - 6.3

Composants Talend Open Studio Guide de référence

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

Le scénario suivant décrit la création d'un fichier XML à partir d'un fichier plat trié contenant une vidéothèque.

Configurer le fichier source

  1. Dans la Palette de composants, cliquez sur les composants tFileInputDelimited et tAdvancedFileOutputXML et déposez-les dans l'espace de modélisation.

  2. Sinon, si vous avez déjà créé une métadonnée contenant la description du fichier d'entrée dans le nœud Metadata du Repository, alors vous pouvez cliquer-déposer directement cette métadonnée dans l'espace de modélisation pour paramétrer automatiquement le flux d'entrée.

  3. Cliquez-droit sur le composant d'entrée et reliez-le au composant tAdvancedFileOutputXML à l'aide d'une connexion de type Row Main.

  4. Sélectionnez le composant tFileInputDelimited et paramétrez ses propriétés dans la vue Component en bas de la fenêtre du Studio.

  5. Dans la liste déroulante Property Type, sélectionnez l'option Repository si la description de votre fichier est stockée dans une métadonnée du Repository. Si vous cliquez-déposez le composant directement à partir de la métadonnée, vous n'aurez pas besoin de modifier ses propriétés.

    Sinon, sélectionnez l'option Built-In et renseignez manuellement les champs de l'onglet Basic settings.

  6. Le fichier d'entrée contient les colonnes suivantes, séparées par des points-virgules : id, name, category, year, language, director et cast.

    Dans cette exemple, le champ Cast regroupe différentes valeurs et id s'incrémente lorsque l'on change de film.

  7. Si nécessaire, définissez le schéma du tFileDelimitedInput en fonction de la structure du fichier.

  8. Une fois que vous avez vérifié que le schéma du fichier d'entrée correspond à vos attentes, cliquez sur OK pour valider.

Configurer la sortie XML et le mapping

  1. Puis sélectionnez le composant tAdvancedFileOutputXML et cliquez sur la vue Component pour paramétrer ses propriétés, ainsi que le mapping dans l'onglet Basic settings. Notez que vous pouvez directement double-cliquer sur le composant pour ouvrir l'interface de mapping.

  2. Dans le champ File Name, sélectionnez le fichier qui sera écrit à la fin du Job, s'il existe déjà ou saisissez le chemin d'accès et le nom du fichier qui seront créés automatiquement pour la sortie.

    Par défaut, le schéma (description du fichier) est automatiquement propagé à partir du flux d'entrée. Mais vous pouvez le modifier si nécessaire.

  3. Puis cliquez sur le bouton [...] ou double-cliquez sur le composant tAdvancedFileOutputXML dans l'espace de modélisation pour ouvrir l'éditeur de mapping.

    Les colonnes du schéma du fichier d'entrée sont listées à gauche de l'interface.

  4. A droite de l'interface, configurez l'arbre XML afin qu'il reflète la structure du fichier de sortie.

    Vous pouvez soit créer la structure nœud par nœud. Pour plus d'informations sur la création manuelle de l'arbre XML, consultez Définir un arbre XML.

    Dans cet exemple, un modèle XML est utilisé pour renseigner automatiquement l'arbre XML.

  5. Cliquez-droit sur le champ root tag qui apparaît par défaut et sélectionnez l'option Import XML tree à la fin des options du menu contextuel.

  6. Dans la fenêtre [Ouvrir], sélectionnez le fichier XML à importer et cliquez sur OK pour valider l'import.

    Note

    Vous pouvez importer une arborescence XML à partir de fichiers au format XML, XSD et DTD.

  7. Puis cliquez-déposez chaque champ de la colonne Schema List vers son élément correspondant dans l'arbre XML de la colonne XML tree tel que décrit dans Mapping de données XML.

    Le mapping apparaît sous la forme d'une flèche bleue entre la zone de gauche et celle de droite.

    Enfin, dans la colonne Node Status, définissez le statut du nœud sur lequel la boucle est effectuée. Dans cet exemple, l'élément Cast correspondant à l'élément Boucle puisque les données de ce champ dans le fichier d'entrée ne sont jamais les mêmes.

    Cliquez-droit sur l'élément Cast de l'arbre XML et sélectionnez l'option Set as loop element.

  8. Pour regrouper les données par film, l'élément Movie doit aussi être défini comme élément Group.

    Cliquez-droit sur le nœud parent Movie de l'arbre XML et sélectionnez l'option Set as group element.

    Le statut sélectionné paraît sur la ligne de l'élément correspondant dans la colonne Node Status.

  9. Cliquez sur OK pour valider la configuration.

  10. Appuyez sur F6 pour exécuter le Job.

Le fichier XML de sortie affiche la structure telle qu'elle a été définie.