Création d'un album photo [XML-XSL] [Access] - XML/XSL - Programmation
Marsh Posté le 02-01-2006 à 13:40:27
J'ai essayé de faire une base de données avec une structure cohérente et d'exporter cette base de données... Le problème est que je ne peux exporter qu'une table à la fois... La structure ne correspond donc pas...
J'ai essayé de faire du reverse ingeneering en prenant mon fichier XML décrit plus haut et de l'importer. J'ai comme résultat deux tables sans relations ayant la structure suivante :
table personne :
1 seul champ (nom)
table image :
2 champs (description, fichier)
Faut-il que je me fasse une base de données cohérente avec l'architecture 2 tables et que je fasse un système en VBA qui construise le fichier XML d'export des données où existe t'il un moyen que je n'ai pas vu et qui pourrai me permettre d'obtenir la structure exposée plus haut.
Enfin, dernière question... Est-ce que la struture que je souhaite avoir est la meilleure structure pour ce que je veux faire ? Je pense que oui, mais ce n'est qu'un point de vue et je peux avoir une vision étroite de mon problème...
Merci de vos réponses
Marsh Posté le 04-01-2006 à 13:23:30
Je me débrouille autrement...
Je fais une requête sur mes deux tables et je crée un fichier type text avec une extension XML.
Code :
|
Puis j'ajoute des lignes de texte à mon fichier XML en parcourant mon recordset et en faisant quelques traitements.
Code :
|
C'est peut être pas très joli et un peu lent (je verrai quand j'aurai beaucoup d'enregistrements), mais ca marche....
Marsh Posté le 04-01-2006 à 18:09:49
Je continue d'avancer dans mon projet et dans la découverte de problèmes...
Je suis en train de construire ma feuille XSL couplée à mon fichier XML (album).
Je voudrais pouvoir créer un menu sur le côté correspondant à une visualisation du haut de mon arborescence (personnes de mon album) et lorsqu'on clique dessus, je fais apparaître la partie concernant cette personne dans une partie centrale.
Je voudrai utiliser le même fichier de données (XML). Mais j'ai un problème pour passer le paramètre "personne" du menu à la zone centrale.
Je pensais qu'avec un with-param, cela irai mais je pense être sur une fausse piste...
Avez-vous des suggestions ?
Est-il possible de passer un paramètre xsl dans una balise <a href...> ?
Il vaut mieux que j'utilise des frames ou des div ?
Je vous remercie de vos conseils.
Marsh Posté le 04-01-2006 à 21:16:57
Voilà mon fichier XML avec quelques données dedans :
album.xml
Code :
|
et voici mon fichier XSL
menu.xsl
Code :
|
Ce que j'essaie de faire, c'est de mettre un passage de paramètre du menu à la div.
Marsh Posté le 05-01-2006 à 18:17:50
J'avance un peu dans mon projet mais je rencontre des problèmes...
J'ai trouvé un truc sur http://css.alsacreations.com/Tutor [...] le-fenetre et j'essaie de l'adapter à mon code XML.
J'ai un soucis pour le code suivant :
Code :
|
Mon problème est dans la construction de la balise <a href=...>. Le nom de la personne n'apparaît pas. C'est un peu normal puisque je ne réussie pas à mettre un code me permettant de sélectionner une personne, puis une autre en même temps que l'incrémentation de "nb_id".
De plus, j'aimerai remplacer "100" par le nombre de balise personne de mon fichier XML, mais en vain.
Si quelqu'un de plus doué que moi peut m'aider, car là je sèche un peu... Merci
Marsh Posté le 05-01-2006 à 19:45:45
Salut.
Je te conseille plutôt de faire générer du HTML à Excel, car tous les navigateurs ne savent pas transformer des feuilles XML à partir d'une feuille XML !
Heureusement, tout n'est pas à mettre à la poubelle : en VBA, tu peux instancier DOM et transformer le document et récupérer l'ouput en HTML, donc tu peux garder ta structure XML/XSL, mais je te déconseille de diffuser ce support.
Marsh Posté le 05-01-2006 à 20:15:58
Je te remercie Arjuna,
Mon petit programme est sous Access 2002 et c'est lui qui fait le fichier XML.
Pour réaliser le html, il faut que je fasse le fichier XSL,non ? Et après j'utilise VBA pour le parser via le DOM (dont j'ignore encore totalement le fonction dans VBA, un autre problème pour moi en vue ...) ?
Sinon, concernant le XSL, est-ce que quelqu'un sait comment mettre un xsl:for-each dans un xls:when ou faire un équivalent ?
Merci de votre aide
Marsh Posté le 06-01-2006 à 18:03:28
Je suis arrivé à faire à peu près ce que je voulais avec mon problème de XSL...
Je vous poste mon code dès que je l'aurai un peu arrangé.
Marsh Posté le 12-01-2006 à 15:15:36
Voici mon code de génération de mon XML :
Code :
|
Si ca peut servir à d'autres...
Marsh Posté le 01-01-2006 à 22:26:49
Bonjour à tous,
Je suis en train d'essayer de construire un album photo que je souhaite visualisable sur beaucoup de navigateurs Web, n'ayant pas besoin d'un logiciel spécifique pour sa consultation.
J'ai donc pensé à le faire en XML où je pourrais stocker les données sous la forme suivante :
Ce fichier XML est en fait une organisation et un commentaire des images et serait dans le dossier racine de l'album. Les images sont bien sûr dans des dossiers enfants.
J'ai pensé à ce système car il me permettrait (j'espère au bout du compte) d'avoir un album assez dynamique sur des clients (je voudrai mettre cet album sur CD).
Je ne voudrai pas réinventer l'eau tiède et je ne sais pas si un tel système d'album existe (sans installation de quelque logiciel que ce soit...).
Pour générer le fichier XML, je vais faire appel à Access pour construire l'album. Cette utilisation d'Access permettra à une personne ne connaissant pas XML de modifier l'album...
Je ne suis pas arrivé à constituer une base de donnée Access pour obtenir le type de fichier XML que je souhaite.
Peut-on réaliser une base de données pour avoir la structure de fichier que je souhaite avoir ?
J'ai essayé de faire un bout XSL pour la visualisation de mon album, et je vais être limité par :
- d'une part la structure de mon fichier (Access donnera/donnera pas cette structure ?)
- le passage d'un paramètre du fichier XML vers lui même...
Je souhaite en effet pouvoir choisir une personne dans un menu et afficher dans un cadre, une frame ou autre chose les images concernant cette personne...
Je pense que ce projet peut être réalisable et n'est pas trop ambitieux au vu des technologies utilisées...
Je vous remercie de votre aide.
---------------
Proverbe chinois: il vaut mieux apprendre à pêcher à un mendiant que de lui donner du poisson...