IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

convertir un XMI en SQL


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 16
    Par défaut convertir un XMI en SQL
    Salut a tous,
    voila, je travail sur un projet qui consite a transformer un diagramme de class en une base de données relationnel a l'aite de l'ATL (ATLAS Transformation Language).
    L'ATL me donne en resultat final le fichier XMI suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="Relational">
      <Table name="Family" key="/0/@col.0">
        <col name="objectId" keyOf="/0" type="/3"/>
        <col name="name" type="/2"/>
      </Table>
      <Table name="Person" key="/1/@col.0">
        <col name="objectId" keyOf="/1" type="/3"/>
        <col name="firstName" type="/2"/>
        <col name="closestFriendId" type="/3"/>
      </Table>
      <Type name="String"/>
      <Type name="Integer"/>
      <Table name="Person_emailAddresses">
        <col name="PersonId" type="/3"/>
        <col name="emailAddresses" type="/2"/>
      </Table>
      <Table name="Family_members">
        <col name="FamilyId" type="/3"/>
        <col name="membersId" type="/3"/>
      </Table>
    </xmi:XMI>
    le resultat doit etre semblant a cela:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
     CREATE TABLE Family (objectId int, name Vrachar(20)) ...

    j'ai effectuer quelques recherches et je me suis rendu compte que je peut le transformer a l'aide d'XSLT, et comme je suis debutant en XSLT, j'aimerai savoir si c'est faisable, et s'il y'a un exemple XSLT d'où puis je m'inspier.
    merci

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Pour les noms de table et de colonne, c'est tout à fait faisable, mais pour les type, je ne vois pas bien comment tu pourrais faire pour avoir le type exact à partir de tes données vu qu'il ne s'y trouve pas.

    Je vois bien que @type="/3" correspond à "int", que @type="/2" correspond à "varchar", mais comment en déduire que c'est un "varchar(20)" ?

    Sinon, le code XSL à utiliser pour ta transformation est suffisament simple pour être couvert par n'importe quel tutoriel de base sur le XSL, donc tu peux t'inspirer du premier tuto que tu trouves.

Discussions similaires

  1. [AC-2003] Convertir Requête paramétrable en SQL
    Par chordially dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/04/2011, 23h22
  2. Convertir BLOB en format sql
    Par jakcam dans le forum JDBC
    Réponses: 5
    Dernier message: 12/03/2010, 23h28
  3. convertir un criteria en SQL pour le visualiser
    Par pcouas dans le forum Hibernate
    Réponses: 1
    Dernier message: 04/11/2009, 09h45
  4. convertir une date en sql server
    Par freestyler dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/05/2008, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo