![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| Bonjours, pour faire une page html, j'ai besoin d'utiliser la Muenchian method (pour faire un equivalent au GROUP BY SQL) Mais voila, mon XML source est de la forme : <data> <item> <param name='type'>Organisation</param> <param name='name'>TOTO</param> <param name='url'>http://toto.fr</param> </item> <item> <param name='type'>Organisation</param> <param name='name'>Titi</param> <param name='url'>http://titi.fr</param> </item> <item> <param name='type'>Autre</param> <param name='name'>Tutu</param> <param name='url'>http://tutu.fr</param> </item> <item> <param name='type'>Divers</param> <param name='name'>TaTa</param> <param name='url'>http://tata.fr</param> </item> </data> J'aimerais en sortie un HTML de cette forme : <div class='katelink'> <h2>Organisation</h2> <div class='link'><a href='http://toto.fr' class='linktitle' rel='external'>TOTO</a></div> <div class='link'><a href='http://titi.fr' class='linktitle' rel='external'>Titi</a></div> </div> <div class='katelink'> <h2>Autre</h2> <div class='link'><a href='http://tutu.fr' class='linktitle' rel='external'>Tutu</a></div> </div> <div class='katelink'> <h2>Divers</h2> <div class='link'><a href='http://tata.fr' class='linktitle' rel='external'>TaTa</a></div> </div> Enfin, vous voyez le principe... J'ai bien essayer d'utiliser la Muenchian method, mais tout les exemples que je trouve porte sur des cas ou la category se trouve dans des elements de nom déterminer, pas dans des elements qui sont nommé par un attribut... Comme je débute en XSL, j'ai un peu de mal, et votre aide sera la bienvenu... Merci d'avance |
| | ||||
| ||||
| |
| |||
| condo4 a écrit : > Bonjours, pour faire une page html, j'ai besoin d'utiliser la > Muenchian method (pour faire un equivalent au GROUP BY SQL) > > > Mais voila, mon XML source est de la forme : > > <data> > <item> > <param name='type'>Organisation</param> > <param name='name'>TOTO</param> > <param name='url'>http://toto.fr</param> > </item> > <item> > <param name='type'>Organisation</param> > <param name='name'>Titi</param> > <param name='url'>http://titi.fr</param> > </item> > <item> > <param name='type'>Autre</param> > <param name='name'>Tutu</param> > <param name='url'>http://tutu.fr</param> > </item> > <item> > <param name='type'>Divers</param> > <param name='name'>TaTa</param> > <param name='url'>http://tata.fr</param> > </item> > </data> > > J'aimerais en sortie un HTML de cette forme : > <div class='katelink'> > <h2>Organisation</h2> > <div class='link'><a href='http://toto.fr' class='linktitle' > rel='external'>TOTO</a></div> > <div class='link'><a href='http://titi.fr' class='linktitle' > rel='external'>Titi</a></div> > </div> > <div class='katelink'> > <h2>Autre</h2> > <div class='link'><a href='http://tutu.fr' class='linktitle' > rel='external'>Tutu</a></div> > </div> > <div class='katelink'> > <h2>Divers</h2> > <div class='link'><a href='http://tata.fr' class='linktitle' > rel='external'>TaTa</a></div> > </div> > > > Enfin, vous voyez le principe... > > J'ai bien essayer d'utiliser la Muenchian method, mais tout les > exemples que je trouve porte sur des cas ou la category se trouve dans > des elements de nom déterminer, pas dans des elements qui sont nommé > par un attribut... on peut écrire tout un document avec un seul élément : <élém name="data"> <élém name="item"> <élém name="type">Organisation</élém name="type"> <élém name="name">TOTO</élém name="name"> <élém name="url">http://toto.fr</élém name="url"> </élém name="item"> </élém name="data"> seulement voilà, quand on a des traitements spécifiques sur un <élém> qui a un name particulier, on est quand même pas très performant tu devrais réfléchir à une structure plus appropriée : <data> <item> <type>Organisation</type> <name>TOTO</name> <url>http://toto.fr</url> </item> </data> ou encore : <data> <item> <organisation name="TOTO"/> <url>http://toto.fr</url> </item> <item> <autre name="TUTU"/> <url>http://tutu.fr</url> </item> </data> quoi qu'il en soit, pour répondre à ta question, tu peux un de tes éléments avec param[***name='type'] par ailleurs, quand on utilise une URL, on peut prendre l'habitude d'utiliser des vocables connus : <organisation name="TOTO" href="http://toto.fr"/> si ton URL signifie la même chose qu'en HTML, autant emprunter l'attribut qui va bien ; il y a aussi xlink:ref qui peut être utile > > Comme je débute en XSL, j'ai un peu de mal, et votre aide sera la > bienvenu... > > Merci d'avance -- Cordialement, /// (. .) --------ooO--(_)--Ooo-------- | Philippe Poulard | ----------------------------- http://reflex.gforge.inria.fr/ Have the RefleX ! |
| |||
| > on peut écrire tout un document avec un seul élément : > <élém name="data"> > <élém name="item"> > <élém name="type">Organisation</élém name="type"> > <élém name="name">TOTO</élém name="name"> > <élém name="url">http://toto.fr</élém name="url"> > </élém name="item"> > </élém name="data"> > > seulement voilà, quand on a des traitements spécifiques sur un <élém> > qui a un name particulier, on est quand même pas très performant > > tu devrais réfléchir à une structure plus appropriée : > > <data> > <item> > <type>Organisation</type> > <name>TOTO</name> > <url>http://toto.fr</url> > </item> > </data> > > ou encore : > > <data> > <item> > <organisation name="TOTO"/> > <url>http://toto.fr</url> > </item> > <item> > <autre name="TUTU"/> > <url>http://tutu.fr</url> > </item> > </data> > > quoi qu'il en soit, pour répondre à ta question, tu peux un de tes > éléments avec param[***name='type'] > > par ailleurs, quand on utilise une URL, on peut prendre l'habitude > d'utiliser des vocables connus : > <organisation name="TOTO" href="http://toto.fr"/> > si ton URL signifie la même chose qu'en HTML, autant emprunter > l'attribut qui va bien ; il y a aussi xlink:ref qui peut être utile En faite, cette source XML provient qu'une sortie de base de donnée que je standardise pour divers traitement dans mon appli web. Avant la requete, j'ignore tout du type des données qui seront retournée, dans ce cas, c'est une URL, mais ça peut aussi bien etre une date ou tout autre données... C'est pour ça que que j'ai structuré mon document ainsi... Bon, c'est vrai, j'aurais pu aussi utilisé la forme <data> <item> <type>Organisation</type> <name>TOTO</name> <url>http://toto.fr</url> </item> </data> D'ailleurs je l'ai envisagé déjà avant de poster cette demande, mais j'ai peur de brider mon XML pour la suite.... Je m'explique : Pour le moment, dans chaque "item", j'ai uniquement des données qui vienne d'une base et l'attribut 'name' correspond au nom du champ ou de l'alias utilisé dans la requête. Dans ce modèle, toute données de la table sont des éléments de type 'param'; si plus tard j'ai d'autre type d'éléments à utiliser, je sais faire la différence... Alors, que si j'utilise le nom du champs comme nom d'élément, et que plus tard je souhaite ajouter une autre source de donnée, alors, je risque de tombé un jour dans le cas ou un nom de champs de base possède le même nom que l'élément que j'utilise non ? Bon, il est vrai que je pourrais faire l'inverse et mettre des attribut pour données la source : <type src='db'> ou un truc de ce genre... En fait, je suis ouvert a toute proposition et tout conseil... C'est vrai que d'un autre coté, je en sais pas trop ce que je pourrais avoir besoin de plus pour le moment, mais mon but étant de faire un framework pour site web le plus extensible possible les choix de départ peuvent me bloquer par la suite, alors, je préfère y passer du temps en réflexion avant ;-) C'est vrai que la solution de l'élément au nom du champ me lève pas mal de problèmes... Je vais y réfléchir... Si en connaissant un peu plus mon application vous avez d'autre conseil, je suis preneur ;-) Merci |
| |||
| condo4 a écrit : > En faite, cette source XML provient qu'une sortie de base de donnée > que je standardise pour divers traitement dans mon appli web. > Avant la requete, j'ignore tout du type des données qui seront > retournée, dans ce cas, c'est une URL, mais ça peut aussi bien etre > une date ou tout autre données... > C'est pour ça que que j'ai structuré mon document ainsi... > Bon, c'est vrai, j'aurais pu aussi utilisé la forme > <data> > <item> > <type>Organisation</type> > <name>TOTO</name> > <url>http://toto.fr</url> > </item> > </data> voilà, c'est bien comme ça ![]() > D'ailleurs je l'ai envisagé déjà avant de poster cette demande, mais > j'ai peur de brider mon XML pour la suite.... le X dans XML ça veut dire eXtensible > Je m'explique : > Pour le moment, dans chaque "item", j'ai uniquement des données qui > vienne d'une base et l'attribut 'name' correspond au nom du champ ou > de l'alias utilisé dans la requête. > Dans ce modèle, toute données de la table sont des éléments de type > 'param'; si plus tard j'ai d'autre type d'éléments à utiliser, je sais > faire la différence... > Alors, que si j'utilise le nom du champs comme nom d'élément, et que > plus tard je souhaite ajouter une autre source de donnée, alors, je > risque de tombé un jour dans le cas ou un nom de champs de base > possède le même nom que l'élément que j'utilise non ? > Bon, il est vrai que je pourrais faire l'inverse et mettre des > attribut pour données la source : <type src='db'> ou un truc de ce > genre... non, le mécanisme le plus approprié pour éviter les conflits de noms est d'avoir recours aux espaces de nommage : http://disc.inria.fr/perso/philippe....namespaces.pdf même si avec les espaces de nommage il y a un côté un peu casse-gueule dans XPath/XSLT, c'est de toute façon incontournable car on se trouve tôt ou tard à avoir besoin de mixer ses propres structures avec celles des autres, qui seront vraisemblablement doté d'espaces de noms ; foutu pour foutu... > > En fait, je suis ouvert a toute proposition et tout conseil... > C'est vrai que d'un autre coté, je en sais pas trop ce que je pourrais > avoir besoin de plus pour le moment, mais mon but étant de faire un > framework pour site web le plus extensible possible les choix de > départ peuvent me bloquer par la suite, alors, je préfère y passer du > temps en réflexion avant ;-) oui, il vaut mieux... pour ma part, je ne conçois (presque) jamais de structure qui ne soit pas dans un espace de nom ; c'est ma conclusion au bout de 10 ans d'utilisation des technos XML ![]() > > C'est vrai que la solution de l'élément au nom du champ me lève pas > mal de problèmes... > > Je vais y réfléchir... > Si en connaissant un peu plus mon application vous avez d'autre > conseil, je suis preneur ;-) je n'ai pas tout compris ce que tu veux faire, mais utiliser le nom d'une colonne SQL comme nom d'élément me paraît un bon choix > > Merci -- Cordialement, /// (. .) --------ooO--(_)--Ooo-------- | Philippe Poulard | ----------------------------- http://reflex.gforge.inria.fr/ Have the RefleX ! |
| |
| |
![]() |
| Tags: attribut, method, muenchian |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Fermat factorization method revisited | mahfoud belhadj | Newsgroup fr.sci.maths | 0 | 03/04/2008 19h26 |
| Bindevent sur une method Assign | OlivierH | Newsgroup microsoft.public.fr.fox | 6 | 25/01/2008 14h47 |
| adding anotehr each method to String | Une Bévue | Newsgroup fr.comp.lang.ruby | 7 | 27/03/2007 01h46 |
| Method Man / Redman à l'Elysée Montmartre | Nico / SKGZ | Newsgroup fr.rec.arts.musique.hip-hop | 0 | 07/01/2006 09h06 |
| Slot ou method: comment choisir ? | Xavier Maillard | Newsgroup fr.comp.lang.lisp | 4 | 04/11/2004 06h14 |