tFileOutputMSXML - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tFileOutputMSXML

Famille de composant

File/Output

 

Fonction

Le composant tFileOutputMSXML permet d'écrire des schémas multiples dans un fichier XML structuré.

Objectif

tFileOutputMSXML crée un fichier XML multi structure complexe à l'aide de la structure des données (schémas) venant des différents flux d'entrée de type Row.

Basic settings

File Name

Chemin d'accès et nom du fichier à traiter, et/ou variable à utiliser.

Pour plus d'informations concernant l'utilisation et la définition de variables, consultez le Guide utilisateur du Studio Talend.

 

Configure XML tree

Ouvre l'interface dédiée pour vous aider à mettre en place le mapping XML. Pour plus de détails sur l'interface, voir Définir un arbre XML Multischéma.

Advanced settings

Create directory if not exists

Cette case est cochée par défaut. Cette option permet de créer le dossier contenant le fichier délimité de sortie s'il n'existe pas déjà.

 

Advanced separator (for numbers)

Cochez cette option pour modifier les séparateurs utilisés pour les nombres :

Thousands separator : définissez le séparateur utilisé pour les milliers.

Decimal separator : définissez le séparateur utilisé pour les décimaux.

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la manipulation des données de base de données.

 

Don't generate empty file

Cochez cette case pour annuler la génération du fichier si celui-ci est vide.

 Trim the whitespace charactersCochez cette case pour supprimer les espaces en début et en fin de colonnes.
 Escape textCochez cette case pour échapper les caractères spéciaux.

 

tStatCatcher Statistics

Cochez cette case pour collecter les métadonnées de process du Job, aussi bien au niveau du Job qu'au niveau de chaque composant.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

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.

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.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Définir un arbre XML Multischéma

Double-cliquez sur le composant tFileOutputMSXML pour ouvrir l'interface dédiée ou cliquez sur le bouton [...] de l'onglet Basic settings de la vue Component.

La liste déroulante de la zone Linker source, à gauche de l'interface, contient tous les schémas d'entrée qui peuvent être ajoutés au fichier XML multischéma de sortie (à la condition que plusieurs flux d'entrée soient connectés au composant tFileOutputMSXML).

Dans le champ Schema List, on retrouve la liste de toutes les colonnes récupérées du flux d'entrée de la sélection.

Sur la droite de l'interface, définissez la structure XML que vous souhaitez obtenir dans le fichier XML en sortie.

Vous pouvez la créer manuellement ou tout simplement importer la structure XML. Puis importez les colonnes de chaque schéma d'entrée de la sélection dans l'élément de l'arbre XML correspondant.

Importer un arbre XML

Le meilleur moyen de renseigner l'arbre XML est d'importer un fichier XML bien formé.

  1. Dans la colonne XML Tree, cliquez une fois sur le champ root tag, qui s'affiche par défaut, pour le renommer.

  2. Cliquez-droit sur ce champ pour afficher le menu contextuel.

  3. Dans le menu, sélectionnez Import XML tree.

  4. Sélectionnez le fichier à importer et cliquez sur OK.

    La colonne XML Tree est donc automatiquement renseignée avec les bons éléments. Vous pouvez supprimer et ajouter des éléments ou des sous éléments à l'arbre :

  5. Sélectionnez l'élément adéquat dans l'arbre.

  6. Cliquez-droit pour faire apparaître le menu contextuel.

  7. Sélectionnez Delete pour supprimer la sélection de l'arbre ou sélectionnez l'option adéquate parmi les suivantes : Add sub-element, Add attribute, Add namespace pour enrichir l'arbre.

Créer manuellement l'arbre XML

Si vous ne possédez pas de structure XML déjà définie, vous pouvez la créer manuellement.

  1. Dans la colonne XML Tree, cliquez une fois sur le champ root tag, qui s'affiche par défaut, pour le renommer.

  2. Cliquez-droit sur ce champ pour afficher le menu contextuel.

  3. Dans le menu, sélectionnez Add sub-element pour créer le premier élément de la structure.

    Vous pouvez aussi ajouter un attribut ou un élément enfant à n'importe quel élément de l'arbre ou supprimer n'importe quel élément de l'arbre.

  4. Sélectionnez l'élément adéquat dans l'arbre que vous venez de créer.

  5. Cliquez-droit à gauche du nom de l'élément pour afficher le menu contextuel.

  6. Dans le menu, sélectionnez l'option adéquate parmi les suivantes : Add sub-element, Add attribute, Add namespace ou Delete.

Mapping de données XML à partir de sources multischéma

Une fois votre arbre XML créé, sélectionnez le premier schéma à mapper.

Vous pouvez alimenter chaque élément ou sous-élément XML avec les colonnes du flux d'entrée dans la colonne Related Column :

  1. Cliquez sur l'une des entrées de la colonne Schema column name.

  2. Glissez-la dans le sous-élément correspondant à droite.

  3. Relâchez-la pour que le mapping soit effectif.

    Une flèche bleue apparaît pour illustrer ce mapping. S'il est disponible, utilisez le bouton Auto-Map situé en bas à gauche de l'interface, il permet d'effectuer cette opération automatiquement.

    Vous pouvez déconnecter n'importe quel mapping de n'importe quel élément de l'arbre XML :

  4. Sélectionnez l'élément de l'arbre XML que vous souhaitez déconnecter de sa source respective.

  5. Cliquez-droit à gauche de son nom pour afficher le menu contextuel.

  6. Sélectionnez Disconnect linker.

La flèche bleue disparaît.

Définir le statut du nœud

Définir l'arbre XML et le transfert de données ne suffit pas. Vous devez aussi définir les éléments sur lesquels la boucle est effectuée pour chacune des sources de la sélection et, si nécessaire, l'élément à partir duquel le regroupement est effectué.

Elément Boucle

L'élément Boucle permet de définir l'élément objet d'une itération. L'élément Boucle est généralement un générateur de lignes.

Pour définir un élément comme un élément Boucle :

  1. Sélectionnez l'élément adéquat dans l'arbre XML.

  2. Cliquez-droit à gauche du nom de l'élément pour afficher le menu contextuel.

  3. Sélectionnez l'option Set as Loop Element.

La colonne Node Status affiche le nouveau statut sélectionné.

Note

Il ne peut y avoir qu'un seul élément Boucle à la fois.

Elément Group

L'élément Group est optionnel, il représente un élément constant sur lequel est effectuée une fonction Groupby. L'élément Group ne peut être défini que si un élément Boucle a été préalablement défini.

Lorsque vous utilisez un élément Group, les lignes doivent être triées pour pouvoir être regroupées par le noeud sélectionné.

Pour définir un élément comme élément Group :

  1. Sélectionnnez l'élément adéquat dans l'arbre XML.

  2. Cliquez-droit à gauche du nom de l'élément pour afficher le menu contextuel.

  3. Sélectionnez l'option Set as Group Element.

La colonne Node Status affiche le nouveau statut sélectionné et tout autre statut de regroupement est automatiquement défini, si nécessaire.

Une fois le mapping terminé, cliquez sur OK pour valider les paramètres et continuez la configuration de votre Job.

Scénario associé

Aucun scénario n'est disponible pour ce composant.