Métadonnées de nœud dans les fonctions de nœud
Dans certains cas, il se peut que vous souhaitiez que la fonction de nœud fasse quelque chose sur la base d'informations concernant le nœud actuel, à savoir les métadonnées de nœud. Le terme « métadonnées de nœud » signifie des informations diverses concernant le nœud auquel la fonction s'applique (par ex., le nom de nœud, la longueur de valeur et la précision), qui est stocké dans le schéma. La table ci-dessous recense tous les paramètres de métadonnées possibles que vous pouvez utiliser dans une fonction de nœud. Notez que certains paramètres de métadonnées s’appliquent uniquement à des types de données spécifiques. MapForce affichera un avertissement lorsque vous tentez d'utiliser des métadonnées qui sont incompatibles avec le nœud actuel.
Paramètres de métadonnées | Description |
---|---|
node_name | Fournit le nom du nœud actuel tel qu’affiché dans le composant. Ces métadonnées sont prise en charge pour tous les nœuds. Dans les fichiers XML, node_name fait référence au nom de l’élément ou à l'attribut actuel. Dans les composants CSV, node_name fait référence au nom d’un champ CSV. Dans les base de données, node_name fait référence au nom d’une colonne de table. |
node_annotation | Affiche un texte d’annotation à côté de la valeur du nœud dans la sortie. Ces métadonnées sont prises en charge pour tous les nœuds. |
node_minLength | Fournit la valeur de la facette minLength du type de données du nœud. Applicable aux nœuds XML et de texte avec des types appropriés. Pour plus d’information sur les facettes de contrainte Length, voir la Recommandation de schéma XML. |
node_maxLength | Fournit la valeur de la facette maxLength du type de données du nœud. Applicable aux nœuds XML et de texte avec des types appropriés. Pour plus d’information sur les facettes de contrainte Length, voir la Recommandation de schéma XML. |
node_totalDigits | Fournit la valeur de la facette totalDigits du type de données du nœud. Applicable aux nœuds XML avec des types appropriés. Pour les détails sur la facette totalDigits, voir la Recommandation de schéma XML. |
node_fractionDigits | Fournit la valeur de la facette fractionDigits du type de données du nœud. Applicable aux nœuds XML avec des types appropriés. Pour les détails sur la facette fractionDigits, voir la Recommandation de schéma XML. |
node_length | Fournit la length (en octets) d’un nombre. Applicable aux champs de base de données avec des types appropriés. Pour en savoir plus sur length, voir la documentation Microsoft. |
node_precision | Fournit le nombre de tous les chiffres d’un nombre. Applicable aux champs de base de données avec des types appropriés. Pour plus d'informations, voir la documentation Microsoft. |
node_scale | Fournit les chiffres du numéro à droite du point décimal d’un nombre. Applicable aux champs de base de données avec des types appropriés. Pour plus d'informations, voir la documentation Microsoft. |
Note : | le type de données d’un paramètre de métadonnées doit coïncider avec le type de données du nœud pertinent. Autrement, l’exécution de la fonction échouera. |
Ajouter les métadonnées à fonction de nœud
Pour ajouter un paramètre de métadonnées à une fonction de nœud, vous devez créer une fonction de nœud, puis cliquer sur l’option Ajouter des spécificités du nœud, qui est située sous la fenêtre des fonctions de nœud. Ceci ouvrira le dialogue Insérer entrée avec spécificité de nœud, dans laquelle vous pouvez sélectionner un paramètre de métadonnées pertinent. À la place de l’option Ajouter les spécificités du nœud, vous pouvez aussi choisir une des options suivantes :
•Cliquez sur la touche de droite dans une zone vide dans le mappage et sélectionnez Insérer entrée depuis le menu contextuel.
•Cliquez sur la commande de la barre d’outils.
•Cliquez Insérer entrée dans le menu Fonction.
Lorsque les métadonnées ne sont pas prises en charge par un nœud
Lorsqu’un paramètre de métadonnées n’est pas pris en charge par un nœud, vous pouvez donner l’instruction à MapForce de renvoyer une séquence vide ou de ne pas appliquer la fonction de nœud (les deux options sont disponibles dans le dialogue Insérer entrée avec la spécificité de nœud). La séquence vide doit être gérée ; autrement, la fonction nœud peut ne retourner aucune valeur. Généralement, vous devez utiliser les fonctions de séquence (comme substitute-missing et exists), ou d'autres types de composant pour le traiter ultérieurement.
Exemple
Cet exemple ci-dessous explique comment fournir le texte d’annotation à une fonction de nœud. Pour cet exemple, vous allez avoir besoin du mappage suivant : <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\MissingFields.mfd. Dans MissingFields.xsd (sur lequel MissingFields.xml est basé), nous avons ajouté l’annotation suivante pour l’élément Name : Nom de l’article du catalogue Printemps 2022. Notre objectif est de fournir cette annotation à une fonction de nœud et de voir l’annotation dans la sortie. Suivez les instructions ci-dessous :
1.Créer une fonction de nœud pour l’élément Name dans le composant ArticlesOfClothing.
2.Répliquer la fonction affichée ci-dessous. Pour ajouter un paramètre node_annotation, cliquez sur Ajouter des spécifiques de nœud (voir le rectangle rouge ci-dessous) et sélectionnez ce paramètre depuis la liste. Pour savoir comment ajouter et manipuler des fonctions, voir Notions fondamentales de bases.
Note : | par défaut, des structures imbriquées profondément ne sont pas entièrement scannées, afin de pouvoir préserver la mémoire et d'améliorer l'expérience de l'utilisateur. Si le composant dans lequel vous appliquez la fonction de nœud possède de telles structures imbriquées, vous pouvez agrandir les nœuds pertinents sur le mappage afin de rendre MapForce sensible aux nœuds. Dans ce cas, MapForce prendra en compte les nœuds agrandis lorsque vous ajoutez un nouveau paramètre de métadonnées, et l'avertissement peut disparaître. La fonction de nœud doit être connectée pour être appliquée ; élargir des éléments non connectés n’est pas pertinent. |
Sortie
La liste ci-dessous montre que l’annotation a été ajoutée aux valeurs des éléments Name.
T-Shirt (nom de l’article du catalogue Printemps 2022) 25.5 20 Dispo en noir, bleu et rouge Chemise (nom de l’article du catalogue Printemps 2022) 70.3 60 Pantalons (nom de l’article du catalogue Printemps 2022) Stock limité Veste (nom de l’article du catalogue Printemps 2022) 57.5 40 |