Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2933 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Fusionner deux fichiers XML avec choix des attributs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fusionner deux fichiers XML avec choix des attributs

n°2156382
La_Vret
Posté le 11-09-2012 à 17:10:31  profilanswer
 

Bonjour à tous,
 
J'espère que quelqu'un pourra m'aider, j'ai un problème un peu particulier...
 
Je souhaite fusionner deux fichiers XML, formés conformément à un même schéma donné, afin d'en créer un troisième, qui lui aussi respecte le même schéma, mais en pouvant déterminer quelles données seront prises dans quels fichiers. Je m'explique :
J'ai le schéma suivant :  

Citation :

<catalogue>
     <livres>
          <livre>
               <auteur>
                    <nom></nom>
                    <dateNaissance></dateNaissance>
               <titre></titre>
               <prix></prix>
          </livre>
          ....
     </livres>
</catalogue>


 
Admettons que j'ai une IHM qui me permet de créer des livres, et que je ne veux pas que l'on puisse choisir le prix du livre par exemple (je sais c'est absurde mais dans mon cas, le schéma est beaucoup beaucoup plus complexe et j'ai de nombreux paramètres que je ne souhaite pas saisir dans l'IHM).
Mon IHM crée un fichier fichier1.xml qui respecte le schéma ci-dessus et qui contient les données entrées par l'utilisateur.
J'ai un autre fichier "fichier2.xml" qui lui contient les données par défaut (auteur = inconnu, prix = 15€ ...).
Je souhaite fusionner les fichiers fichier1.xml et fichier2.xml pour créer un fichier fichier3.xml dans lequel on obtiendra les données entrées par l'utilisateur, le prix de 15 € (puisqu'il n'est pas configurable dans l'ihm) et les données par défaut si l'utilisateur ne renseigne pas les caractéristiques (auteur Inconnu par exemple).  
Je sais que vous me direz de coder cela au niveau de l'IHM et d'insérer des valeurs par défaut à ce niveau, mais comme je l'ai dis, mon projet réel est plus complexe et je ne peux pas faire cela.
 
Quelqu'un peut-il m'aider à réaliser ce miracle ?  
Je me suis orienté vers le XSL pour le moment mais je ne suis pas sur qu'il soit possible de faire des choses aussi compliquées avec...
Avez-vous des idées de langage, logiciels pour développer cela ?
PS : mon IHM est codée par moi-même, en Java, si cela peut vous aider !
 
Merci beaucoup beaucoup beaucoup d'avance !!

mood
Publicité
Posté le 11-09-2012 à 17:10:31  profilanswer
 

n°2156396
gilou
Modérateur
Modzilla
Posté le 11-09-2012 à 20:47:57  profilanswer
 

Tu as quel volume de données?
I.e. On peut mettre tes deux fichiers en mémoire comme des arbres DOM et bosser sur les arbres, ou c'est trop gros?
 
Sinon, XSLT est pas une mauvaise approche en effet.  
Je te conseille de regarder du côté des techniques du chapitre "Merging Documents with Identical Schemas" du XSLT Cookbook de Sal Mangano publié par O'Reilly
A+,


Message édité par gilou le 11-09-2012 à 20:58:15

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2156399
kadreg
profil: Utilisateur
Posté le 11-09-2012 à 21:45:51  profilanswer
 

bonjour :o

 

C'est une problématique dans laquelle travaille actuellement mon employeur, a savoir, d'une manière générale, le diff/merge de modèle, y compris par matching automatique d'éléments similaires.

 

On ne travaille pas au niveau XML, mais plutot au niveau EMF, mais, ayant ton schema, tu peut remonter tes fichiers XML comme un jeu de modèles EMF.

 

Ensuite, l'utilisation d'un outil de diff/merge, éventuellement en travaillant de manière plus fine sur les stratégies de merge automatique en implémentant un merger pour le travail automatisable, permettra de faire des choses tel que comment choisir les éléments à merger.

 

Voici notre outil de comparaison/merge en tout cas.  
http://www.eclipse.org/emf/compare/


Message édité par kadreg le 11-09-2012 à 21:49:05

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2156458
gilou
Modérateur
Modzilla
Posté le 12-09-2012 à 11:31:21  profilanswer
 

Citation :

a savoir, d'une manière générale, le diff/merge de modèle

Pas de modèle, unique dans son cas, mais d'instance, si j'ai bien compris sa problématique.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2156477
kadreg
profil: Utilisateur
Posté le 12-09-2012 à 14:16:22  profilanswer
 

gilou a écrit :

Citation :

a savoir, d'une manière générale, le diff/merge de modèle

Pas de modèle, unique dans son cas, mais d'instance, si j'ai bien compris sa problématique.
A+,


 
j'suis décalé d'un cran par rapport à toi sur le vocabulaire. Pour moi, un modèle est une instance de métamodèle qui est une expression de structure, donc du XSD. Mais on est d'accord :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2156480
gilou
Modérateur
Modzilla
Posté le 12-09-2012 à 14:21:44  profilanswer
 

Certes, mais dans ce cas précis, il parle d'instances d'un modèle XSD, ie du data encodé en XML, qui ne sont pas elles mêmes des modèles :p
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2156553
raskt
Posté le 12-09-2012 à 23:53:35  profilanswer
 

Salut,
 
Est-ce qu'une solution comme celle-ci peut te convenir http://stackoverflow.com/questions [...] using-xslt


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Fusionner deux fichiers XML avec choix des attributs

 

Sujets relatifs
[Access 2010]champ obligatoire si certains choixsite multilangue : quelle stratégie sur les fichiers à traduire ?
CVS : lister les fichiers modifiés depuis une certaine dateVBA et XML : mystere de la méthode text
[SQL] Fusionner 2 champs de 2 tables différentes [résolu]VBA et XML, set Attribute
Insertion de caractère dans un nom de mes champs XMLChoix d'une méthode pour extraire des données web
quels critères pour choix de SGBDproblème attributs
Plus de sujets relatifs à : Fusionner deux fichiers XML avec choix des attributs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR