Scénarios Use-Case
Cette rubrique décrit les différents scénarios dans lesquels les défauts et fonctions de nœud peuvent être utiles. Pour tester ces scénarios, vous aurez besoin du mappage d’échantillon suivant : <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\MissingFields.mfd. Notre point de départ est le mappage illustré ci-dessous.
Certains des nœuds dans le fichier source sont vides. À cette étape, le fichier de sortie a l’aspect suivant :
T-Shirt 25.3 20 Disponible en noir, bleu et rouge Chemise 70.3 60 Pantalons Stock limité Veste 57.5 40 |
Les scénarios décrits ci-dessous vous montreront comment définir un défaut pour tous les nœuds de type string, définir les défauts pour les différents types de données, bloquer les règles pour des nœuds spécifiques, écraser les règles héritées, et définir une fonction de nœud, et appliquer cette fonction de manière conditionnelle aux nœuds pertinents.
Scénario 1 : Définir un défaut pour tous les nœuds de string
Dans notre mappage, quelques uns des nœuds du type string sont vides. Notre objectif est de définir une valeur par défaut n/a à la place de strings vides. Suivez les étapes suivantes :
1.Cliquez avec la touche de droite sur l’élément Article et sélectionnez Fonctions de nœud et défauts | Fonctions de nœud de sortie et défauts depuis le menu contextuel.
2.Cliquez sur l’option dans la fenêtre des Fonctions de nœuds et saisissez n/a dans le champ Valeur par défaut (voir la capture d’écran ci-dessous).
Dans le composant ArticlesOfClothing, les éléments Nom et Description sont de type string, ce qui rend la valeur par défaut appropriée pour les deux. Pour cette raison, l’icône apparaît à côté de ces nœuds. Puisque les valeurs par défaut s’appliquent uniquement aux valeurs vides, seuls deux nœuds Field4 ont reçu les valeurs n/a dans la sortie (en surbrillance jaune ci-dessous).
T-Shirt 25.3 20 Disponible en noir, bleu et rouge Chemise 70.3 60 n/a Pantalons Stock limité Veste 57.5 40 n/a |
Scénario 2 : Définir les défauts pour différents types de données
Outre la définition d’un défaut pour des nœuds d’un type spécifique, vous pouvez en plus définir un autre défaut pour un autre type de données. Par exemple, un des articles a des valeurs vides dans Prix et ItemsInStock, dont les deux sont de type numérique. Maintenant, notre objectif est de remplacer ces valeurs vides avec 0. Suivez les étapes ci-dessous :
1.Répétez les étapes depuis le Scénario 1. Ceci ajoutera une valeur par défaut pour tous les nœuds de type string qui ont des valeurs vides.
2.Ajoutez un autre défaut et sélectionnez numérique comme type de données.
3.Tapez 0 dans le champ Valeur par défaut (voir la capture d’écran ci-dessous).
La sortie a maintenant l’air de ceci (notez les parties en surbrillance) :
T-Shirt 25.3 20 Disponible en noir, bleu et rouge Chemise 70.3 60 n/a Pantalons 0 0 Stock limité Veste 57.5 40 n/a |
Note : | Conformément à la Spécification de schéma XML , integer est dérivé de décimal, et les deux appartiennent à un type de données numérique. Dans notre exemple, la règle s’appliquera aux deux éléments ItemsInStock et Prix si vous sélectionnez numeric comme type de données dans la fenêtre de fonctions de nœud. Si vous sélectionnez decimal comme type de données, la règle continuera à s’appliquer aux deux éléments. Toutefois, si vous sélectionnez integer comme type de données, la règle s’appliquera uniquement à l’élément ItemsInStock. |
Scénario 3 : Bloquer la règle pour des nœuds spécifiques
Dans ce scénario, nous voulons appliquer les défauts pour tous les nœuds string et numeric, mais nous ne voulons pas définir un défaut dans l’élément Prix. Pour atteindre cet objectif, reproduisez les étapes du Scénario 2, cliquez sur l’élément Prix et désactivez la case à cocher Hériter des règles des ancêtres. Dans le mappage ci-dessus, l'item Prix n'hérite plus des règles depuis son parent, Article. Pour cette raison, l’icône apparaît à côté de l’élément Prix (voir la capture d’écran ci-dessous).
La sortie ci-dessous montre que la valeur vide de l’élément Prix, pour laquelle la règle a été bloquée, a été mappée vers le Champ2 (notez les parties en surbrillance).
T-Shirt 25.3 20 Disponible en noir, bleu et rouge Chemise 70.3 60 n/a Pantalons 0 Stock limité Veste 57.5 40 n/a |
Scénario 4 : Écraser les règles héritées
Dans ce scénario, nous voulons définir les défauts pour tous les nœuds string et numériques ; toutefois, pour l’élément Prix exclusivement, nous voulons définir 100 comme valeur par défaut. Pour atteindre cet objectif, répétez les étapes décrites dans le Scénario 2, cliquez sur Prix dans le composant ArticlesOfClothing et ajoutez un nouveau défaut, tel qu’affiché dans la capture d’écran ci-dessous. Les règles héritées ont un fond jaune.
La règle définie directement dans un nœud a la priorité sur les règles créées au niveau parent. Pour cette raison, la sortie a maintenant l’aspect suivant (notez les parties surlignées) :
T-Shirt 25.3 20 Disponible en noir, bleu et rouge Chemise 70.3 60 n/a Pantalons 100 0 Stock limité Veste 57.5 40 n/a |
Si vous avez défini plus d’une règle pour le même nœud, la règle au niveau supérieur de la grille s’applique au nœud actuel. Vous pouvez permuter l’ordre de ces règles en glissant manuellement les règles dans la grille.
Scénario 5 : Créer une fonction de nœud et l’appliquer aux conditions
Ce scénario expliquera comment créer une fonction de nœud et l’appliquer aux conditions. Nous utiliserons la fonction concat pour ajouter du texte aux nœuds du type string. Suivez les instructions ci-dessous :
1.Cliquez avec la touche de droite sur l’élément Article et sélectionnez Fonctions de nœud et défauts | Fonctions de nœud de sortie et défauts depuis le menu contextuel.
2.Ajoutez une fonction de nœud en cliquant sur l’icône et créez la fonction affichée ci-dessous.
À cette étape, nous n’avons pas filtré les nœuds et la sortie a l’aspect suivant (notez les parties en surbrillance) :
T-Shirt (XXS, L-XXL) 25.3 20 Disponible en noir, bleu et rouge (XXS, L-XXL) Chemise (XXS, L-XXL) 70.3 60 Pantalons (XXS, L-XXL) Stock limité (XXS, L-XXL) Veste (XXS, L-XXL) 57.5 40 |
La sortie affiche que notre règle a été appliquée aux deux éléments de type string : Nom et Description. Maintenant, nous voulons que la règle s’applique uniquement à l’élément Nom. À cette fin, allez à la fenêtre des fonctions de nœud et cliquez sur la touche dans la colonne Type et filtre de données. Ceci ouvre la boîte de dialogue Filtrer Fonctions de nœud et Défauts, dans laquelle vous pouvez changer les types de données et spécifier les options de filtrage. Définissez le filtre tel qu’affiché dans la capture d’écran ci-dessous.
La sortie a désormais l’aspect suivant :
T-Shirt (XXS, L-XXL) 25.3 20 Disponible en noir, bleu et rouge Chemise (XXS, L-XXL) 70.3 60 Pantalons (XXS, L-XXL) Stock limité Veste (XXS, L-XXL) 57.5 40 |
Filtrer par type de nœud
Cette option vous permet de réduire le type de données que vous avez sélectionné dans le dialogue Filtrer Fonctions de nœud et Défauts. Par exemple, vous avez choisi d’appliquer votre fonction de nœud aux nœuds numériques. Ensuite, vous pouvez spécifier un sous-type (par ex., Filtrer par/nom de nœud : xs:decimal).
Filtrer avec des expressions régulières
Pour plus d’options de filtrage avancées, vous pouvez utiliser des expressions régulières (par ex., pour faire correspondre des noms de nœud multiples). Pour plus d'informations, voir Expressions régulières. Veuillez prendre note des points suivants :
•Les ancres ^ et $ sont implicites et ne doivent pas être saisies dans la case Correspond à.
•Le respect de la casse peut être spécifié dans la case á cocher Correspond à . Pour cette raison, l’indicateur i n’est pas pris en charge.
•La correspondance sur plusieurs lignes n'est pas pertinente pour le filtrage de nœud. Pour cette raison, l’indicateur m n’est pas pris en charge.
Scénario 6 : Créer des défauts pour des nœuds non connectés
MapForce vous permet d’appliquer les défauts aux nœuds non connectés, mais uniquement si le nœud parent et/ou un frère sont connectés. Considérez l’exemple suivant :
Dans le mappage ci-dessus, nous avons défini une valeur par défaut pour le nœud Champ4 dans le composant ArticlesInfo. À cette étape, Champ4 n’a pas de connexion d’entrée. Les nœuds parent et frère sont connectés. Si le Champ4 reste non connecté, la valeur par défaut écrasera toutes les valeurs de Description dans la sortie (voir ci-dessous). Si vous connectez Description et Champ4, la valeur par défaut sera appliquée aux séquences vides.
T-Shirt 25.5 20 n/a Chemise 70.3 60 n/a Pantalons n/a Veste 57.5 40 n/a |
Note : | les défauts ne sont pas appliqués aux nœuds non connectés dans des composants JSON. |