Mapper les noeuds

Vous pouvez mapper les noeuds d'élément et d'attribut de leur document source à un document cible.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Vous pouvez mapper :
  • un attribut à un attribut
  • un attribut à un élément
  • un élément à un élément
  • un élément à un attribut
  • plusieurs noeuds à un noeud
Les instructions suivantes s'appliquent à la perspective Ressource, mais elles fonctionneront également dans de nombreuses autres perspectives.

Pour créer un mappage, procédez comme suit :

Procédure

  1. Ouvrez votre fichier de mappe dans l'éditeur de mappage XML.
  2. Sélectionnez un ou plusieurs éléments ou attributs dans le document source. Pour en sélectionner plusieurs, utilisez la touche Ctrl.
  3. Sélectionnez un élément ou un attribut dans le document cible.
  4. Cliquez avec le bouton droit de la souris dans le document source ou cible et cliquez sur Créer une transformation. Les noeuds sont alors mappés entre eux. Pour spécifier le type de transformation, cliquez sur la case de type de transformation entre les noeuds. Vous pouvez sélectionner :
    Option Description
    Déplacer Ce type copie les données d'une source à une cible.
    Concaténer Ce type crée une concaténation de chaînes qui vous permet d'extraire les données de deux entités ou plus pour les lier en un même résultat.
    Mappe en ligne Ce type permet à la mappe d'en appeler d'autres, mais les autres mappes ne peuvent pas l'appeler. Il ne peut être utilisé que dans la mappe courante. Si les entrées et les sorties sont des tableaux, la mappe en ligne est implicitement répétée sur les entrées.
    Sous-mappe Ce type fait référence à une autre mappe. Il appelle ou invoque une mappe du même fichier de mappe ou d'un autre. Ce type de transformation est le plus efficace pour la réutilisation.
    Sous-chaîne Ce type extrait les informations demandées. Par exemple, la sous-chaîne nom, prénom avec un délimiteur "," et un indice de sous-chaîne de 0 renvoie la valeur nom. Avec l'indice de sous-chaîne 1, elle renvoie prénom.
    Groupe Ce type prend un tableau ou une collection de données et les groupe en une collection de collection. Fondamentalement, il s'agit d'un tableau contenant un tableau. Le groupage est effectué au niveau champ, ce qui signifie qu'il est fait en sélectionnant un champ de la collection d'entrée comme "département".
    Normaliser Ce type normalise la chaîne d'entrée. Par exemple, il peut être utilisé pour supprimer les espaces blancs multiples (espace, tabulation ou retour chariot).
    Personnalisé Ce type vous permet d'entrer du code personnalisé ou d'appeler du code de référence à utiliser dans la transformation. Vous pouvez étendre les fonctions de transformation intégrées en utilisant des expressions XPath et des modèles XSLT personnalisés.

Exemple

Pour supprimer un mappage, cliquez avec le bouton droit de la souris sur la connexion de mappage et sélectionnez Supprimer.

Mappage à des éléments de contenu vide

Le mappage à un élément XML sans contenu du tout (par exemple, <Person/>) diffère du mappage à un élément XML contenant des données caractères (par exemple, <Person>Molly</Person>). Dans le dernier cas, le mappage signifie que les données du noeud source seront utilisées comme données caractères pour l'élément cible. En revanche, dans le premier cas, il n'a pas d'effet sur le XSLT généré.

Dans une DTD, un élément sans contenu du tout se spécifie avec le mot-clé 'EMPTY' (par exemple, <!ELEMENT Person EMPTY>). Dans un schéma XML, ce n'est pas aussi simple. Une des manières concises au niveau syntaxique de spécifier un élément à contenu vide dans un schéma XML consiste à définir un type complexe sans contenu simple ni complexe (par exemple, <xsd:element name="Person"> <xsd:complexType/></xsd:element>). C'est interprété comme abrégé de contenu complexe restreignant anyType.

Que faire ensuite


Commentaires en retour