🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fr.comp.text.xml
5 messages
5 total messages Started by condo4 Thu, 14 Feb 2008 14:23
The Muenchian method sur des attribut...
#364
Author: condo4
Date: Thu, 14 Feb 2008 14:23
60 lines
3036 bytes
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
Re: The Muenchian method sur des attribut...
#365
Author: Philippe Poulard
Date: Thu, 14 Feb 2008 16:04
119 lines
4627 bytes
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 !
Re: The Muenchian method sur des attribut...
#367
Author: condo4
Date: Thu, 14 Feb 2008 21:02
92 lines
4879 bytes
> 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
Re: The Muenchian method sur des attribut...
#368
Author: Philippe Poulard
Date: Fri, 15 Feb 2008 08:17
85 lines
4576 bytes
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.poulard/cours/01c-xml-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 !
Re: The Muenchian method sur des attribut...
#369
Author: condo4
Date: Fri, 15 Feb 2008 11:30
8 lines
1593 bytes
On 15 fév, 09:17, Philippe Poulard <philippe.poular...@SPAMinria.fr>
wrote:
(...)

Je te remercie pour tout ces conseils, que je vais suivre ;-)
Peut etre même celui des espaces de nom ;-)

Encore merci
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads