Définir le mode de sortie - 6.3

Talend Open Studio for Data Integration Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Integration
task
Création et développement
EnrichPlatform
Studio Talend

Pour définir le mode de sortie des données de type Document, vous devez regrouper tous les éléments XML en un seul flux XML, et, lorsqu'un élément vide existe, choisir où les écrire. Ainsi, vous ne modifiez pas la structure de l'arborescence XML créée.

Ecrire dans un document les éléments en sortie

Sauf si vous utilisez l'élément "aggregate" qui sépare toujours un flux XML, vous devez être capable de déterminer si un flux XML est écrit en un seul flux ou dans des flux séparés, à l'aide de la fonctionnalité All in one de l'éditeur du tXMLMap.

Pour ce faire, dans la partie droite du Map editor, procédez comme suit :

  1. Cliquez sur l'icône de clé anglaise afin d'ouvrir le panneau de paramétrage du mapping. La capture d'écran suivante vous montre un exemple.

  2. Cliquez sur le champ All in one et, dans la liste déroulante, sélectionnez true ou false afin de choisir si le flux XML doit être écrit en un flux unique.

    • Si vous sélectionnez true, les données XML sont écrites en un seul flux. Dans cet exemple, le flux unique s'affiche comme suit :

      La structure de ce flux est la suivante :

    • Si vous sélectionnez false, les données XML sont écrites dans des flux séparés, chaque boucle représentant un flux. Dans cet exemple, les flux sont les suivants :

      Chaque flux contient une structure XML complète. La structure du premier flux, par exemple est la suivante :

Note

La fonctionnalité All in one est désactivée si vous utilisez l'élément "aggregate". Pour plus d'informations concernant l'élément "aggregate", consultez Agréger les données de sortie.

Gérer les éléments vides dans le Map editor

Il peut être nécessaire de créer des éléments de sortie vides durant le processus de transformation des données en un flux XML, par exemple quand le tXMLMap est associé à un tWriteXMLField créant des éléments vides ou lorsqu'il n'y a pas de colonne associée à un certain nœud XML dans le flux de données XML de sortie.

Vous pouvez garder ces éléments vides dans l'arborescence XML selon vos besoins, même si vous ne souhaitez pas les écrire en sortie.

Le composant tXMLMap vous permet de définir le booléen pour la création de l'élément vide. pour ce faire, dans la partie droite du Map editor, effectuez les opérations suivantes :

  1. Cliquez sur la clé anglaise afin d'ouvrir le panneau de paramétrage du mapping.

  2. Dans le panneau, cliquez sur le champ Create empty element et, dans la liste déroulante, sélectionnez true ou false afin de choisir d'écrire ou non l'élément vide.

    • Si vous sélectionnez true, l'élément vide est créé dans le flux XML de sortie et écrit, par exemple, comme suit <customer><LabelState/></customer>.

    • Si vous sélectionnez false, l'élément vide n'est pas écrit.

Définir la séquence des différents boucles en entrée

Si un élément de boucle, ou si le flux de données plat reçoit des mappings d'un ou plusieurs élément(s) de boucle du flux d'entrée, vous devez définir la séquence des boucles en entrée. Le premier élément de boucle de cette séquence sera la boucle primaire. Le processus de transformation relatif à cette séquence effectuera d'abord une boucle sur cet élément, afin que les données écrites en sortie soient triées selon la valeur de cet élément.

Par exemple, dans cette capture d'écran, l'élément types est la boucle primaire et les données écrites en sortie seront triées selon la valeur de cet élément.

Dans le cas d'une réception de plusieurs éléments de boucle en entrée, un bouton [...] apparaît à côté de l'élément recevant la boucle, ou dans le cas de données plates, apparaît en haut de la table représentant le flux de données plat. Pour définir la séquence des boucles, procédez comme suit :

  1. Cliquez sur le bouton [...] pour ouvrir la fenêtre de configuration de séquence comme dans la capture d'écran présentée précédemment dans cette section.

  2. Utilisez les boutons de montée ou de descente afin de définir l'ordre de votre séquence.