Propriétés du tAdvancedFileOutputXML - 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

Famille du composant

File/Output ou XML

Fonction

Le composant tAdvancedFileOutputXML transmet des données vers un fichier de type XML et propose une interface de gestion des boucles et des Group by si nécessaire.

Objectif

Le tAdvancedFileOutputXML crée un fichier XML contenant les valeurs des données définies dans l'arborescence XML.

Basic settings

Property type

Peut être Built-in ou Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

Use Output Stream

Cochez la case pour traiter le flux de données qui vous intéresse. Une fois cochée, le champ Output Stream s'affiche et vous pouvez saisir le flux de données souhaité.

Le flux de données à traiter doit être ajouté au flux afin que ce composant récupère ces données via la variable représentative correspondante.

Cette variable peut être prédéfinie dans votre Studio Talend ou fournie par le contexte ou les composants utilisé(s) avec ce composant. Sinon, vous pouvez la définir manuellement et l'utiliser selon votre Job, par exemple à l'aide d'un tJava ou d'un tJavaFlex.

Afin d'éviter les désagréments de la saisie, vous pouvez sélectionner la variable qui vous intéresse dans la liste d'autocomplétion (Ctrl+Espace) afin de remplir le champ, si cette variable a été correctement définie.

Pour pus d'informations concernant l'utilisation d'un flux, consultez Scénario 2 : Lire les données d'un fichier distant en mode stream.

 

File name

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

Ce champ est indisponible si vous avez coché la case Use Output Stream.

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'aide à la création du fichier XML. Pour plus d'informations sur l'interface, consultez Définir un arbre XML.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Job designs. Voir également le Guide utilisateur du Studio Talend.

 

Sync columns

Cliquez sur ce bouton pour synchroniser le schéma de sortie avec celui d'entrée. La fonction Sync ne s'affiche que si une connexion de type Row est liée au composant de sortie.

 

Append the source xml file

Cochez cette option pour ajouter de nouvelles lignes à la fin de votre fichier source XML.

 

Generate compact file

Cochez cette case pour générer un fichier ne comprenant aucun espace vide ni aucun séparateur de ligne. L'ensemble des éléments se présente alors sur une ligne unique, ce qui permet de réduire le poids du fichier.

 

Include DTD or XSL

Cochez cette case pour ajouter la déclaration DOCTYPE indiquant le nom de l'élément racine et le chemin d'accès et le nom du fichier DTD ou pour ajouter l'instruction de traitement indiquant le type de feuille de style (telle que les XSL) utilisée et son chemin d'accès et nom.

DTD : saisissez le nom de l'élément racine dans le champ Root Element et saisissez le chemin d'accès et le nom du fichier DTD dans le champ File Name.

XSL : saisissez le type de feuille de style dans le champ Type et saisissez le chemin d'accès et le nom du fichier dans le champ File Name.

Advanced settings

Split output in several files

Si le fichier XML de sortie est lourd, vous pouvez le scinder en plusieurs fichiers en définissant un certain nombre de lignes par fichier.

 Trim Data

Cette case est activée lorsque vous utilisez le mode de génération dom4j. Cochez cette case pour supprimer les espaces en début et en fin de valeur d'un élément XML.

 

Create directory only if not exists

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

 

Create empty element if needed

Cette case est cochée par défaut. Si le contenu de la colonne Associated Column est nul ou si aucune colonne n'est associée au nœud XML, cette option créera une balise ouvrante et une balise fermante aux endroits prévus.

 

Create attribute even if its value is NULL

Cochez cette case pour générer l'attribut de la balise XML pour la colonne d'entrée associée dont la valeur est null.

 

Create attribute even if it is unmapped

Cochez cette case pour générer l'attribut de la balise pour la colonne d'entrée associée non mappée.

 

Create associated XSD file

Si l'un des éléments XML est associé à un espace de nommage, cette option créera le fichier XSD correspondant.

Note

Pour utiliser cette option, vous devez sélectionner le mode de génération Dom4J dans la liste Generation mode.

 

Add Document type as node

Cochez cette case pour ajouter des colonnes de type Document dans le nœud au lieu d'échapper des chaînes de caractère dans le fichier XML de sortie.

Cette case apparaît uniquement lorsque le mode de génération est configuré à Slow and memory-consuming (Dom4j) dans l'onglet Advanced settings.

 

Advanced separator (for number)

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.

 

Generation mode

Sélectionnez le mode de génération correspondant à votre mémoire disponible. Les modes disponibles sont :

  • Lent et consommateur de mémoire (Slow and memory-consuming - Dom4J).

    Note

    Cette option vous permet d'utiliser Dom4J pour traiter des fichiers XML très complexes.

  • Rapide et peu consommateur de mémoire (Fast with low memory consumption).

Lorsque la case Append the source xml file, dans la vue Basic settings est cochée, ce champ disparaît car le mode de génération dom4j est automatiquement sélectionné.

 

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.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log du Job, aussi bien au niveau du Job qu'au niveau de chaque 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.

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

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

Utilisez ce composant pour créer un fichier XML à partir des données transmises par d'autres composants via une connexion de type Row.

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

Double-cliquez sur le composant tAdvancedFileOutputXML pour ouvrir l'interface dédiée ou cliquez sur le bouton [...] du champ Configure Xml Tree de l'onglet Basic settings dans la vue Component.

Le champ Schema List de la zone Linker Source, à gauche de l'interface, contient toutes les colonnes du flux d'entrée (à condition que le flux d'entrée soit connecté au composant tAdvancedFileOutputXML).

A droite de l'interface, dans la zone Linker Target, définissez la structure XML que vous souhaitez obtenir en sortie.

Vous pouvez la créer manuellement ou tout simplement importer la structure XML. Puis importez les colonnes du schéma d'entrée 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. Renommez la balise racine qui s'affiche par défaut dans le panneau XML tree, en cliquant sur celle-ci.

  2. Dans la colonne XML Tree, cliquez-droit sur le champ root tag pour afficher le menu contextuel.

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

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

    Note

    • Vous pouvez importer la structure XML d'un fichier au format XML, XSD et DTD.

    • Lors de l'import d'une structure XML d'un fichier XSD, vous pouvez choisir un élément comme la racine de votre arbre XML.

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

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

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

  3. 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 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.

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

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

  3. 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

Une fois votre arbre XML créé, 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 une des entrées de la colonne Schema List.

  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 :

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

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

  3. 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 l'élément sur lequel la boucle est effectuée 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 nœud sélectionné.

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

  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 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.