Altova MapForce 2024 Enterprise Edition

Les connexions copier-tout mappent les données entre des nœuds avec des items enfant qui sont similaires ou identiques. Les connexions « Copier tout » ne sont possibles que pour des formats identiques (par ex., JSON à JSON ou XML à XML). Ce principe s’applique également à tous les composants texte : fichiers plats, fichiers FlexText et EDI. Puisqu’il s’agit de fichiers texte pour ces formats, vous pouvez les combiner et créer une connexion copy-all entre les fichiers EDI et FlexText, par exemple.

 

Le principal avantage des connexions copier-tout est qu’elles simplifient visuellement l’espace de travail du mappage : Une connexion représentée par une ligne épaisse est créée à la place de multiples connexions (voir l’exemple dans Créer toutes les connexions copier-tout manuellement). Les sous-sections ci-dessous expliquent comment créer des connexions copy-all automatiquement et manuellement.

 

Créer des connexions copy-all automatiquement

Pour créer une connexion copy-all automatiquement, suivez les étapes suivantes :

 

1.Allez au menu Connexion.

2.Cliquez sur Paramètres pour connecter des enfants correspondants.

3.Vérifiez la case Créer des connexions copier-tout et cliquez sur OK.

4.Appuyez sur la touche de la barre d'outils Toggle auto-connexion d’enfants. De manière alternative, allez au menu Connexion et cliquez sur Auto-connexion des enfants correspondants.

 

Si des types et/ou des noms de nœuds enfant dans la source et la cible ne sont pas les mêmes, une connexion copy-all ne sera pas créée automatiquement, et vous devrez en créer une automatiquement.

 

Créer des connexions copier-tout manuellement

Pour créer une connexion copy-all manuellement, suivez les étapes suivantes :

 

1.Ajouter un fichier source : Cliquez sur XML Schema/File dans le menu Insert et recherchez Books.xml situés dans le dossier BasicTutorials.

2.Ajouter un fichier cible : Cliquez sur XML Schema/File dans le menu Insérer et recherchez Library.xsd situé dans le même dossier que Books.xml. Cliquez sur Ignorer lorsque vous êtes invité par MapForce à ajouter un exemple de fichier XML.

3.Mappez le nœud <book> du composant books au nœud <publication> du composant library. Comme la structure des éléments de <book> et <publication> ne coïncide pas entièrement, la connexion copy-all n’est pas créée. À la place, la fonction Auto-connexion des enfants correspondants connecte automatiquement tous les nœuds enfant avec le même nom, ce qui est expliqué dans le Tutoriel 1.

4.Pour modifier la connexion automatique à une connexion copy-all, cliquez avec la touche droite sur la connexion entre <book> et <publication> et sélectionnez Copy-All (copiez les éléments enfant) depuis le menu contextuel.

5.Une fenêtre pop-up proposera de remplacer les connexions existantes par une connexion copy-all. Cliquez sur OK. Maintenant la source et la cible ont une connexion copy-all (voir la capture d’écran).

MF_MapFund_Connections_Types_CopyAll1

Dans le mappage ci-dessus, seuls deux nœuds enfant sont identiques dans les deux structures : <author> et <title>. Pour cette raison, une connexion copy-all existe entre ces nœuds. Les nœuds enfant qui ne sont pas les mêmes ne peuvent pas être connectés. La capture d’écran montre que l’id n’est pas incluse dans la connexion copy-all car son type n’est pas le même dans la source et dans la cible : l’id est un attribut dans la source et un élément dans la cible. Si vous tentez de créer une connexion entre les éléments qui ne sont pas les mêmes, par ex., <category> et <genre>, MapForce vous invitera à la remplacer ou à dupliquer l’entrée (voir la capture d'écran ci-dessous).

 

La duplication de l’entrée n'a de sens que si vous souhaitez que la cible accepte des données depuis plus d'une entrée, ce qui n'est pas nécessaire ici. Si vous choisissez de remplacer la connexion "Copier-tout", un message vous invite à nouveau soit à résoudre, soit à supprimer la connexion "Copier-tout". Cliquez sur Résoudre la connexion copier-tout si vous souhaitez remplacer la connexion copier-tout par des connexions orientées vers la cible individuelles. Si vous préférez supprimer entièrement la connexion copy-all, cliquez sur Supprimer connexions enfant.

 

Important

 

Lors de la création de connexions copier-tout entre un schéma et un paramètre d'une fonction définie par l'utilisateur, les deux composants doivent être basés sur le même schéma. Néanmoins, il n'est pas nécessaire qu'ils possèdent les mêmes éléments racine.

 

© 2018-2024 Altova GmbH