Utilisation de XMLMapper

De RAD Studio
Aller à : navigation, rechercher

Remonter à Définition des transformations


L'utilitaire mappeur XML, xmlmapper.exe, vous permet de définir des mappages (ou correspondances) de trois manières :

  • A partir d'un schéma (ou d'un document) XML existant vers un ensemble de données client que vous définissez. Cette méthode est utile lorsque vous souhaitez créer une application de base de données pour manipuler des données pour lesquelles vous disposez déjà d'un schéma XML.
  • A partir d'un paquet de données existant vers un nouveau schéma XML que vous définissez. Cette méthode est utile lorsque vous souhaitez présenter des informations de base de données existantes dans XML, par exemple pour créer un nouveau système de communication inter-entreprise.
  • Entre un schéma XML existant et un paquet de données existant. Cette méthode est utile lorsque vous disposez d'un schéma XML et d'une base de données qui décrivent tous deux les mêmes informations et que vous souhaitez les faire travailler ensemble.

Remarque :  Le mappeur XML se base sur deux .DLL (midas.dll et msxml.dll). Assurez-vous que ces .DLL sont toutes deux installées avant d'essayer d'utiliser xmlmapper.exe. De plus, msxml.dll doit être enregistré en tant que serveur COM. Vous pouvez effectuer cet enregistrement au moyen de Regsvr32.exe.

Chargement d'un schéma XML ou d'un paquet de données

Avant de pouvoir définir un mappage et générer un fichier de transformation, vous devez charger les descriptions du document XML et du paquet de données entre lesquels vous êtes en train de définir un mappage.

Vous pouvez charger un schéma ou un document XML en choisissant Fichier > Ouvrir et en sélectionnant le document ou le schéma dans la boîte de dialogue résultante.

Vous pouvez charger un paquet de données en choisissant Fichier > Ouvrir et en sélectionnant un fichier de paquet de données dans la boîte de dialogue résultante. Le paquet de données est simplement le fichier généré lorsque vous appelez la méthode SaveToFile d'un ensemble de données client. Si vous n'avez pas enregistré le paquet de données sur disque, vous pouvez directement accéder au paquet de données à partir du serveur d'applications d'une application à plusieurs niveaux en cliquant avec le bouton droit de la souris dans la vue Paquet de données et en choisissant Connexion à un serveur distant.

Vous pouvez charger seulement un document ou schéma XML, seulement un paquet de données, ou les deux. Si vous ne chargez qu'un côté du mappage, le mappeur XML peut générer un mappage naturel pour l'autre côté.

Définition des mappages

Le mappage entre un document XML et un paquet de données n'inclut pas nécessairement tous les champs du paquet de données ou tous les éléments balisés du document XML. Vous devez donc spécifier les éléments à mapper. Pour cela, sélectionnez d'abord la page Mappage du volet central de la boîte de dialogue.

Pour spécifier les éléments d'un document ou d'un schéma XML à mapper sur les champs d'un paquet de données, sélectionnez l'onglet Exemple ou Structure du volet Document XML et double-cliquez sur les noeuds des éléments à mapper sur des champs du paquet de données.

Pour spécifier les champs du paquet de données à mapper sur des éléments balisés ou des attributs du document XML, double-cliquez sur les noeuds correspondant à ces champs dans le volet Paquet de données.

Si vous n'avez chargé qu'un seul côté du mappage (le document XML ou le paquet de données), vous pouvez générer l'autre côté après avoir sélectionné les noeuds à mapper.

  • Si vous générez un paquet de données à partir d'un document XML, vous devez définir tout d'abord des attributs pour les noeuds sélectionnés déterminant les types de champs auxquels ils correspondent dans le paquet de données. Dans le volet central, sélectionnez la page Node Repository. Sélectionnez chaque noeud qui participe au mappage et indiquez les attributs du champ correspondant. Si le mappage n'est pas simple (comme dans le cas d'un noeud avec des sous-noeuds correspondant à un champ dont la valeur est construite à partir de ces sous-noeuds), activez la case à cocher Traduction définie par l'utilisateur. Vous devrez écrire par la suite un gestionnaire d'événements pour effectuer la transformation sur des noeuds définis par l'utilisateur. Après avoir spécifié la manière dont les noeuds doivent être mappés, choisissez Créer > Paquet de données à partir de XML. Le paquet de données correspondant est automatiquement généré et affiché dans la vue Paquet de données.
  • Si vous générez un document XML à partir d'un paquet de données, choisissez Créer > XML à partir d'un paquet de données. Une boîte de dialogue apparaît dans laquelle vous pouvez spécifier les noms des balises et des attributs dans le document XML qui correspondent aux champs, enregistrements et ensembles de données du paquet de données. Pour les valeurs des champs, la façon de les nommer indique si elles sont mappées sur un élément balisé avec une valeur ou sur un attribut. Les noms commençant par un symbole @ mappent sur des attributs de la balise qui correspond à l'enregistrement, tandis que les noms ne commençant pas par un symbole @ mappent sur des éléments balisés qui possèdent des valeurs et sont imbriqués dans l'élément de l'enregistrement.
  • Si vous avez chargé à la fois un document XML et un paquet de données (fichier d'ensemble de données client), assurez-vous de sélectionner les noeuds correspondants dans le même ordre. Les noeuds correspondants devraient apparaître les uns à côté des autres dans le tableau situé en haut de la page Mappage.

Lorsque vous avez chargé ou généré le document XML et le paquet de données puis sélectionné les noeuds apparaissant dans le mappage, le tableau en haut de la page Mappage devrait refléter le mappage que vous avez défini.

Génération de fichiers de transformation

Après avoir défini le mappage, vous pouvez générer les fichiers de transformation pour la conversion des documents XML en paquets de données et la conversion de paquets de données en documents XML. Notez que seul le fichier de transformation est directionnel : un même mappage peut être utilisé pour générer à la fois la transformation de XML vers le paquet de données et du paquet de données vers XML.

Pour générer un fichier de transformation

  1. Sélectionnez d'abord le bouton radio indiquant la transformation à créer :
    • Choisissez le bouton Paquet de données en XML si le mappage s'effectue d'un paquet de données vers un document XML.
    • Choisissez le bouton XML en paquet de données si le mappage s'effectue d'un document XML vers un paquet de données.
  2. Si vous générez un paquet de données, vous pouvez également utiliser les boutons radio de la section Format du paquet de données créé. Ces boutons vous permettent d'indiquer comment le paquet de données sera utilisé : comme ensemble de données, comme paquet delta pour l'application de mises à jour, ou comme paramètres à transmettre à un fournisseur avant de lire des données.
  3. Cliquez sur Créer et tester la transformation pour générer une version en mémoire de la transformation. Le mappeur XML affiche le document XML qui serait généré pour le paquet de données dans la vue Paquet de données ou le paquet de données qui serait généré pour le document XML dans le volet Document XML.
  4. Finalement, choisissez Fichier > Enregistrer > Transformation pour enregistrer le fichier de transformation. Le fichier de transformation est un fichier XML spécial (avec l'extension .xtr) qui décrit la transformation que vous avez définie.

Voir aussi