Vous
pouvez mapper les noeuds d'élément et d'attribut de leur document source à un document cible.
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
- Ouvrez votre fichier de mappe dans l'éditeur de mappage XML.
- Sélectionnez un ou plusieurs éléments ou attributs dans le document source. Pour en sélectionner plusieurs, utilisez la touche Ctrl.
- Sélectionnez un élément ou un attribut dans le document cible.
- 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.