Altova MapForce 2024 Professional Edition

Vous pouvez créer des fonctions de nœud et des défauts pour presque chaque item dans le mappage. Créer des fonctions de nœud et des défauts signifient définir une règle. Afin de créer une règle, sélectionnez un item (nœud ou champ) dans lequel vous souhaitez définir une règle. Il peut s’agir d’un seul nœud ou d’un nœud avec des nœuds enfant. Si vous choisissez de créer une règle pour un nœud avec enfants, la règle s’appliquera à tous les enfants sauf si vous désactivez explicitement cette option.

 

Aspects importants de défauts et fonctions de nœud

Les défauts et fonctions de nœud ont les aspects importants suivants :

 

Vous pouvez créer des défauts ou des fonctions de nœud soit du côté d'entrée d'un composant cible, soit du côté sortie d'un composant source. Afin d'établir quel côté est celui qui convient à vos besoins, voir Choisir le côté d'entrée ou de sortie.

 

Lorsque plusieurs règles existent pour un seul et même item, MapForce appliquera une règle à un item qui est plus proche de cet item. Pour savoir comment écraser les règles, voir le Scénario 4 dans Scénarios Use-Case.

 

Les défauts et les fonctions de nœud peuvent être créés si le type de connexion entre la source et la cible est Orienté vers la source ou Orienté vers la cible. Toutefois, les connexions copier-tout ne sont pas prises en charge. En particulier, les fonctions de nœud et les défauts ne sont pas appliquées aux descendants des connexions copier-tout. Le nœud parent avec une connexion copier-tout peut avoir des fonctions de nœud et des défauts, mais uniquement s’il a une valeur simple, par exemple, un élément XML avec un contenu de type simple et des attributs. Pour plus d'informations sur les types de connexion, voir Types de connexion.

 

Créer des fonctions par défaut et fonctions de nœud n'est pas prise en charge pour le nœud File.

 

À l’intérieur d’une fonction de nœud, seuls certains composants importants dans ce contexte sont pris en charge (par ex., des fonctions built-in, des variables, des conditions if-else). Les structures complexes telles que XML, JSON, EDI ou des bases de données ne sont pas prises en charge. Ajouter des fonctions définies par l'utilisateur inline et des composants join à une fonction de nœud n’est pas pris en charge.

 

Une fonction de nœud peut avoir un paramètre d'entrée maximum, ou aucun paramètre. Le paramètre d'entrée est toujours appelé raw_value. Ne jamais supprimer le paramètre d'entrée, même si vous n’avez pas besoin d'entrée pour votre fonction ; sinon, des erreurs de validation apparaîtront lorsque vous exécutez le mappage. La même chose s'applique à la sortie de la fonction. Si vous devez rétablir un composant d'entrée supprimé par accident, exécutez la commande de menu Fonction | Insérer entrée.

 

MapForce vous permet de fournir des métadonnées de nœud (par ex., un nom de nœud, une annotation) à une fonction de nœud. Pour les détails, voir Métadonnées de nœud dans les fonctions de nœud.

 

La boîte de dialogue Filtrer les fonctions de nœud et Défauts vous permet de choisir d’une large gamme de types de données, dont quelques unes représentent des catégories de types. Ceci signifie qu’ils correspondront à une plus grande sélection de types. Par exemple, le type string correspond à d’autres types de données variés depuis le string, tel que normalizedString, jeton, NCName, NMTOKEN, IDREF, ENTITY et d’autres. De même, le type decimal correspondra aux types dérivés integer, long, short et autres. La hiérarchie des types est spécifiée dans la Recommandation XML Schema W3C.

 

Créer une règle

Pour créer une règle, suivez les étapes suivantes :

 

1.Cliquez avec la touche de droite sur le nœud d’intérêt et sélectionnez Fonctions de nœud et défauts | Fonctions de nœud de sortie et défauts depuis le menu contextuel. Qu’il s’agisse de fonctions de nœud et défauts Entrée ou Sortie dépend du côté du composant sur lequel vous devez créer une fonction de nœud ou un défaut. En alternative, cliquez avec la touche de droite sur un connecteur et sélectionnez une commande de fonction de nœud pour ce côté. Le volet Mappage affichera la fenêtre de fonctions de nœud, dans laquelle vous pouvez définir des défauts et fonctions de nœud (rectangle rouge dans la capture d’écran ci-dessous).

mff_nodefunc_ex2

Si un nœud parent a des règles définies et que vous voulez transférer ces règles du parent à un enfant, sélectionnez la case à cocher Hériter les règles des ancêtres (voir la capture d’écran ci-dessus). Pour plus d'informations sur l’héritage, voir Scénarios Use-Case.

 

2.La prochaine étape est de définir si vous voulez ajouter un défaut ( mf_ic_add_default ) ou une fonction ( mf_ic_add_nodefunc ). Dès que vous cliquez sur l’option pertinente, une nouvelle règle sera créée (une ligne dans la grille de la fenêtre de fonction de nœud). Pour des informations sur la configuration des règles, voir Configuration de la règle ci-dessous. Si vous définissez une fonction, la zone de mappage changera pour afficher l'entrée de la fonction et les paramètres de sortie.

 

Éditer/supprimer les règles

Pour voir, modifier ou supprimer une règle, cliquez sur l’icône mf_ic_node_func_defined (noire ou rouge) à côté d’un nœud d’intérêt. La fenêtre des fonctions de nœud affichera toutes les règles définies pour ce nœud. Si vous avez ajouté une fonction de nœud, vous verrez le bouton mf_ic_nodefunc_edit dans la grille, qui vous permet de modifier la mise en œuvre de la fonction. Si la touche mf_ic_nodefunc_edit n'est pas présente, alors la fonction est probablement définie sur un ancêtre. Dans ce cas, cliquez sur l’icône mf_ic_node_func_defined à côté de l’item pour lequel la règle a été définie.

 

Pour supprimer une règle, sélectionnez-la depuis la grille dans la fenêtre de fonction de nœud, puis cliquez sur le bouton ic_paramdel .

 

Configurer une règle

Dès que vous sélectionnez Fonctions de nœud et Défauts | Entrée/Sortie Fonctions de nœud et Défauts depuis le menu contextuel (voir les instructions ci-dessus), vous verrez la fenêtre des fonctions de nœud dans laquelle vous pouvez configurer des fonctions de nœud et des défauts. Les paramètres disponibles sont décrits ci-dessous.

 

Appliquer à : Une règle peut être appliquée à l’item actuel, ses items enfant directs ou à tous les items descendants. Si l’item que vous avez sélectionné n’a pas de descendant, seule l’option Item actuel sera disponible.

 

Type de données : Cliquez sur la touche mf_ic_ellipsis et choisissez un type de données depuis le dialogue. La règle ne s’appliquera qu’aux items qui ont ce type de données (ou un type de données dérivé). Si l'item que vous avez sélectionné n’a pas de descendants, alors le type de données de l'item est le seul choix possible.

 

Valeur par défaut/Description de la fonction : Si vous définissez un défaut, saisissez ici la valeur par défaut que vous souhaitez définir pour l'item sélectionné (et tous les descendants, le cas échéant). Pour définir un string vide comme défaut, laissez ce champ vide. Si vous définissez une fonction, ce champ est réservé uniquement à des informations : Il affiche un résumé de la fonction.

 

Pour quitter la fenêtre de fonction de nœud, cliquez sur le bouton mf_ic_exit_door dans le coin supérieur gauche de la fenêtre et appuyez sur Escape.

 

Indice visuel

MapForce affiche différents indices visuels pour aider à comprendre quelles règles sont définies et si elles s’appliquent à un nœud spécifique (voir la table ci-dessous).

 

Icône

Description

mf_ic_node_func_defined

Cet icône indique qu’une règle est définie pour son item et peut affecter tous ses descendants. Cliquez sur l'icône pour modifier ou supprimer la règle.

mf_ic_node_func_applied

Cet icône indique que l’item hérite la règle définie au niveau d’ancêtre.

mf_ic_node_func_defined_applied

Cet icône indique que la règle est définie pour et s’applique à cet élément. Cette icône apparaît généralement lorsqu'une fonction ou un défaut est défini pour un seul nœud.

mf_ic_node_function_blocked

Cette icône indique que même si une règle s'applique à cet item, elle est délibérément bloquée. Cette icône est affichée uniquement si l'héritage est bloqué et aucune autre règle n'est définie pour ce nœud. Si une règle provenant d'un ancêtre s'applique, l'icône mf_ic_node_func_applied a une priorité.

mf_ic_node_func_inactive

Cette icône indique qu’une règle définie pour cet item est inactive. Par exemple, cette icône peut apparaître pour des items enfants qui ne sont pas encore connectés.

ic_nodefunc_unconnected

Cette icône indique que la règle est actuellement inactive, car aucune correspondance et nœuds connectés n’ont été identifiés. Le terme matching signifie la chose suivante : Avant d’appliquer une fonction ou un défaut, MapForce recherche le type de données que vous avez défini ; si vous avez également spécifié un filtre qui doit correspondre à un nom de nœud spécifique, par exemple, MapForce recherchera également le nom de nœud.

 

© 2018-2024 Altova GmbH