références circulaires, ID ?

références circulaires, ID ? - XML/XSL - Programmation

Marsh Posté le 03-01-2005 à 18:54:57    

Bonjour,
 
je bosse sur une vue en flash de données qui viennent d'une db, et bon, le projet et un peu biaisé, ça se passe pas dans le bon sens et je me retrouve à devoir faire un prorotype d'un XML qui devra être créé dynamiquement à partir du modèle, alors que j'y connais rien (des gens du métiers bosseront dessus sûrement après mais là...)
 
 
donc ça représente les boîtes du CAC 40, et là dedans tout est lié.
 
bon, moi je pensais faire un noeud par entreprise, mais donc scahant que dans chaque noeud je devrai faire références à d'autres noeuds (pour les parts tout ça) qu'est-ce qui est le plus propre ? d'affecter des ID et de ne garder qu'eux dans les relations ?
 
je pourrais bien faire un truc comme ça sans réfléchir mais j'aimerais bien un truc réutilisable
 
si vous avez des conseils merci :)
 
 
update: est-ce que ce début semble jouable ?
 


<?xml version="1.0" encoding="UTF-8"?>
 
<!ELEMENT entreprises (entreprise+)>
   <!ELEMENT entreprise (nom, participations, divers)>
      <!ATTLIST entreprise id ID #REQUIRED>
      <!ELEMENT nom (#PCDATA) >
 
      <!ELEMENT participations (parts-entrantes, parts-sortantes) >
       
         <!ELEMENT parts-entrantes EMPTY>
         <!ATTLIST parts-entrantes references IDREFS #REQUIRED>
         
         <!ELEMENT parts-sortantes (part-sortante*)>
            <!ELEMENT part-sortante (valeur-part)>
            <!ATTLIST part-sortante reference IDREF #REQUIRED >
               <!ELEMENT valeur-part (#PCDATA)>
               
      <!ELEMENT divers EMPTY>  


Message édité par raytaller le 03-01-2005 à 23:01:36
Reply

Marsh Posté le 03-01-2005 à 18:54:57   

Reply

Marsh Posté le 04-01-2005 à 15:21:14    

Je comprends pas trop ce que tu souhaites faire de ce XML, et comment il sera généré.
 
Si c'est du XML qui doit simplement mapper les données de la base, le mieux est il me semble d'utiliser un noeud par enregistrement de table, avec nom du noeud = nom de la table, et arguments = champs de la table (dans ce cas, tes relations seront en effet gérées par ID, comme en base).
 
Maintenant, si ce XML est le résultat d'une transformation bien précise du modèle de données de la base, alors je ne connais pas assez le monde de la bourse pour te répondre.

Reply

Marsh Posté le 04-01-2005 à 15:24:37    

C'est une DTD, ou de l'XML, je comprend pas bien là :??:
 
Sinon comme dit mix, si c'est juste une copie de la table, y'a rien de bien difficile...

Reply

Marsh Posté le 04-01-2005 à 19:41:46    

justement, le problème est bien que l'appli en flash qui sert à visualiser les données d'une hypotétique base de données (je sais même pas si elle va exister un jour) doit se débrouiller toute seule pour l'instant (je sais c'est n'importe quoi)
 
 
pour l'instant, pas de base de données, juste un pauvre fichier excel ( [:mlc] ) embrouillé censé où il est plus ou moins dit ce qui doit être représenté mais absolument pas de hiérarchisation claire
 
 
donc, moi je connais pas le XML j'ai aucune expérience (j'veux dire en tant que concepteur), mais comme je dois  parser le XML en flash, et afficher les données, j'ai intérêt à ce que le XML soit défini de manière très stricte (si un jour il est généré, j'ai intérêt à ce que le mec qui va le générer respecte des règles)
 
le problème est que tout va à l'envers mais j'ai pas le choix là dessus.
 
 
donc, en gros je me dis que si je fais une DTD bein définie j'assure la validité de l'afficheur
 
 
là ce que j'ai montré c'est le début de DTD que je pensais faire, en utilisant donc des id pour les références circulaires, car c'est surtout sur ce point que le bloque.
je sens bien qu'il faut éviter absolument la redondance, donc je compte lier toutes les boîtes par des id uniques.. en même temps, ça me parraît bizarre, sûrement parce que j'ai jamais fait

Reply

Marsh Posté le 05-01-2005 à 10:09:46    

Moi, à ta place, je me lancerais plutôt dans la confection d'un petit Data Model, puis, dans un deuxième temps, je mapperais mon Data Model par la DTD correspondante.
 
Ca me semble plus facile, et plus instinctif de construire un data model, avec tes petits schémas de données et quelques clés étrangères, que de pondre directement une DTD.
 
Ceci dit, n'étant pas une star, loin s'en faut, du XML, peut-être qu'il y a des solutions plus évidentes en XML (XML Schéma ? qu'en disent les experts ici présents ?), et peut-être, et même surement, que je n'ai pas bien compris la nature de ton problème (en l'occurence, je vois pas trop où est le problème des "références circulaires" comme tu dis).

Reply

Marsh Posté le 05-01-2005 à 19:19:32    

mixoumix a écrit :

Moi, à ta place, je me lancerais plutôt dans la confection d'un petit Data Model, puis, dans un deuxième temps, je mapperais mon Data Model par la DTD correspondante.
 
Ca me semble plus facile, et plus instinctif de construire un data model, avec tes petits schémas de données et quelques clés étrangères, que de pondre directement une DTD.
 
Ceci dit, n'étant pas une star, loin s'en faut, du XML, peut-être qu'il y a des solutions plus évidentes en XML (XML Schéma ? qu'en disent les experts ici présents ?), et peut-être, et même surement, que je n'ai pas bien compris la nature de ton problème (en l'occurence, je vois pas trop où est le problème des "références circulaires" comme tu dis).


 
justement, après m'être bien pris le chou sur la DTD, c'est exactement ce que j'ai décidé de faire, en me disant que c'était effectivement plus intuitif.
 
si tu ne voies pas le problème c'est qu'il ne doit pas y en avoir, mais sans expérience, je me sentais pas capable d'affirmer être bien lancé
 
enfin bon merci :)

Reply

Marsh Posté le 15-01-2005 à 12:33:53    

J'ai encore une petite question sur les id
 
j'ai plusieurs éléments qui peuvent avoir des id  : des secteurs d'activités, et des structures (SA, entreprise familiale etc...)
 
maintenant, j'aimerais que chaque entreprise ait une structure et un secteur choisis parmi ces éléments éxistants
 
donc, je pensais les lier avec des IDREF, mais comment m'assurer que dans l'élément "structure", l'idref sera bien un id de structure et inversement ?
 
parce que pour l'instant, on peut mettre n'importe quel id tant qu'il existe

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed