XMLAppender
Assemble plusieurs documents XML en un seul.
Ce Transformer a deux ports d'entrée, un acceptant un unique document XML et l'autre acceptant plusieurs fragments XML.
Par défaut, le XMLAppender fonctionne en insérant chaque fragment XML entrant à la fin du document XML principal. Les paramètres Ajouter le chemin dans le document et Ajouter les fragments comme peuvent être utilisés pour contrôler où les fragments sont insérés dans le document.
Configuration
Ports en entrée
Entités en entrée contenant le document XML principal.
Entités en entrée contenant les fragments XML.
Ports de sortie
Sortie du document XML principal avec les fragments ajoutés.
Les documents principaux multiples sont autorisés uniquement si le paramètre Regrouper par est utilisé, sinon les documents principaux en double sont émis via ce port. Les documents principaux sont considérés comme des doubles les uns des autres lorsque les valeurs de leur clé composite Regrouper par sont égales.
Les fragments non utilisés (aucun paramètre de regroupement correspondant au document principal) ressortent pas ce port.
Paramètres
Regrouper par |
Utilisez ce paramètre pour organiser plusieurs documents principaux et fragments en groupes. Plusieurs documents XML principaux sont autorisés lorsque leur clé composite Regrouper par diffère. Les documents et fragments inutilisés, ceux qui n'ont pas de clé correspondante, sont acheminés vers les ports UnusedDocument et UnusedFragment, respectivement. |
Traitement des regroupements |
Lorsque toutes les entités sont reçues : comportement par défaut. Le traitement n'aura lieu qu'une fois que toutes les entités en entrée seront présente. Quand le groupe change (avancé) : ce Transformer traitera les groupes en entrée dans l'ordre. Les changements de la valeur du paramètre Regrouper par sur le flux d'entrée déclencheront le traitement du groupe en cours de regroupement. Cela peut améliorer la vitesse globale (en particulier avec plusieurs groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes en entrée ne sont pas ordonnés. Considérations sur l'utilisation de Regrouper par
Il y a deux raisons typiques d'utiliser Quand le groupe change (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà classées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Regrouper par - et non des considérations de performance. La seconde raison possible est le potentiel gain de performances. Les gains de performance sont plus visibles quand les données sont déjà triées (ou lues en utilisant une déclaration SQL ORDER BY) puisque moins de travail est requis de la part de FME. Si les données doivent être ordonnées, elles peuvent être triées dans le traitement (bien que la surcharge de traitement supplémentaire puisse annuler tout gain). Le tri devient plus difficile en fonction du nombre de flux de données. Il peut être quasiment impossible de trier des flux de données multiples dans l'ordre correct, car toutes les entités correspondant à une valeur Regrouper par doivent arriver avant toute entité (de tout type d'entité ou jeu de données) appartenant au groupe suivant. Dans ce cas, l'utilisation de Regrouper par avec Lorsque toutes les entités sont reçues peut être une approche équivalente et plus simple. Note: De multiples types d'entités et entités de multiples jeux de données ne vont généralement pas arriver dans l'ordre correct. Comme pour beaucoup de scénarios, tester différentes approches dans votre projet avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Document XML en entrée |
La sélection depuis la liste, active le paramètre correspondant à cette sélection :
|
Ajouter les fragments comme |
Ce paramètre contrôle la manière dont les fragments sont insérés dans le document par rapport à un élément sélectionné ou apparié. Les valeurs possibles pour ce paramètre sont :
Ces valeurs sont relatives au type d'élément spécifié dans le paramètre Ajouter le chemin dans le document. La valeur par défaut est Enfant suivant . |
Ajouter le chemin dans le document |
Ce paramètre spécifie un élément unique, ou un chemin d'accès à un élément unique, dans le document. Chaque élément du chemin est séparé par une barre oblique, '/'. Un caractère générique, '*', peut également être utilisé comme préfixe ou nom local de l'élément (par exemple, '*:e', 'p:*', ou simplement '*', qui se traduit par '*:*'). La valeur par défaut du paramètre est la chaîne vide. Cela correspondra ou sélectionnera l'élément racine. Considérons le document XML suivant : <data> <metadata>…</metadata> <initialize>…</initialize> <!--Insert XML fragments here --> <finalize>…</finalize> </data> Pour insérer des fragments après l'élément <initialize>, on peut : 1) Spécifier dans Ajouter le chemin dans le document "data/initialize", et 2) Succeeding Siblings dans Ajouter les fragments comme ou : 1) Spécifier "data/finalize" pour le paramètre Ajouter le chemin dans le document et 2) Définir Frère suivant pour le paramètreAjouter les fragments comme |
Fragment XML en entrée |
La sélection depuis la liste, active le paramètre correspondant à cette sélection :
|
Type de XML en sortie |
La sélection depuis la liste, active le paramètre correspondant à cette sélection :
|
Encodage en sortie |
Ce paramètre est utilisé pour sélectionner l'encodage du résultat. |
Affichage du code lisible |
Ce paramètre spécifie si la sortie GML doit être bien présentée avec des indentations. |
||||||||||||||
Taille d'indentation |
Ce paramètre spécifie la taille d'une indentation. |
||||||||||||||
Remplacer les tabulations par des espaces |
Par défaut, le caractère tabulation est utilisé. Utiliser ce paramètre pour remplacer les tabulations par des espaces. |
||||||||||||||
Indentation du texte |
Par défaut, le texte contenu dans une balise n'est pas modifié. Si ce paramètre a la valeur Oui, le texte sera imprimé. Si une balise contient à la fois un élément de valeur textuelle et un autre élément de balise imbriquée, le second élément de la valeur textuelle ou de la balise imbriquée ne sera pas imprimé. L'exemple ci-dessous montre un bloc de code XML à gauche et sa sortie imprimée à droite.
|
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments du traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres d'espace de travail. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
FME Community
FME Community iest l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Rechercher des exemples et informations à propos de ce Transformer dans FME Community.