[XSLT] Transformation XML pour Base de données
Bonjour à tous,
j´ai deux problèmes qui me tracassent en ce moment et j´aimerais savoir si ces problèmes sont solubles avec du XSLT et comment?
1. J´ai une banque de données Access qui a une structure spécifique (normal). J´ai pu générer le schema (.xsd) de cette BD. Ensuite on m´a livré des données à insérer dans cette banque de données sous forme XML. Malheureusement la structure de ce fichier XML est tout autre et ne correspond pas du tout au schema de ma BD. Il me faut donc transformer. Je recherche donc une solution qui me permettrait de transformer le fichier XML de données de telle sorte que je puisse obtenir comme sortie un autre fichier XML que je puisse importer directement dans mes tableaux Access et qui surtout (!) insère automatiquement et de facon incrémentelle les IDs à chaque nouvel ajout de lignes.
2. Le plus dur c´est la gérance de ces IDs (primary key) avec du xslt. Est-ce possible avec du xslt de gérer aussi les relations entre tableaux (PK et FK)?
Par exemple, j´ai cette structure de ma BD (tableau Projet, tableau Employé, tableau Client):
Projet (projID, nom); Employé(empID, empNom); ProjetEmployé (projID, empID); Client(clientID, nom, projetID, empID). À un client est attribué un seul employé comme personne de contact.
J´ai aussi obtenu par exemple ce fichier XML:
<Root><Info>blablabla</Info><Info>blablabla</Info>
<Projet><nom>DTR</nom>
<Employé><nom>Lorrier T.</nom></Employé>
<Employé><nom>Bernard M.</nom></Employé>
<Employé><nom>Raphael M.</nom></Employé>
</Projet>
<Projet><nom>MDR</nom>
<Employé><nom>Raphael M.</nom></Employé>
<Employé><nom>Pablo</nom></Employé>
</Projet>
<Projet><nom>DBD</nom>
<Employé><nom>Pablo</nom></Employé>
<Employé><nom>Jerome K.</nom></Employé>
<Employé><nom>Aline N.</nom></Employé>
</Projet>
<Client>
<nom>montesquieu</nom>
<contact>Pablo</contact>
<projet>DBD</projet>
</Client>
</Root>
Comment transformer ceci en XML conformément à la définition de ma BD afin d´insérer automatiquement les données dans ma BD en tenant compte ou mieux en générant les PK et FK respectifs?
Ce serait super si vous pouviez m´aider en me disant si c´est possible ou pas avec xslt et si oui en me donnant des indices sur les possibilités de solutions dans de pareils cas. (Exemples de xslt à l´appui seraient également plus que bienvenus ;)). Merci beaucoup à l´avance.
Sylvie