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

  FORUM HardWare.fr
  Programmation

  [XSL] créer un lien à partir d'infos entrées en XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XSL] créer un lien à partir d'infos entrées en XML

n°124543
goueg
De passage
Posté le 11-04-2002 à 09:48:53  profilanswer
 

voila le pb:
maintenant que j'arrive a chopper les attributs (merci kadreg),
 
<td width="50%"><center><b><a href="<xsl:value-of select="nom/@lien"/>"><xsl:value-of select="nom"/></a></b></center></td>
 
ce genre de trucs ne marche pas parce qu'on ne peut pas mettre une balise (XSL en l'occurence) entre les guillemets de href.
Alors il faudrait que je puisse stocker le value-of dans une variable (j'ai essayé de mettre la chaine dans un ENTITY mais ca veut p apparemment...). Y'a moyen de faire ca?

mood
Publicité
Posté le 11-04-2002 à 09:48:53  profilanswer
 

n°124546
Profil sup​primé
Posté le 11-04-2002 à 09:53:33  answer
 

ca a l'air compliqué :sweat:

n°124548
kadreg
profil: Utilisateur
Posté le 11-04-2002 à 09:58:58  profilanswer
 

Me revoila :)
 
Pour ca genre de cas, c'est à dire une imbrication de tags XML rendant le fichier xsl invalide, il y a une seconde écriture, appelées les expressions.
 
 
<td width="50%"><center><b><a href="{nom/@lien}">{nom/@lien}</a></b></center></td>
 
Grosso modo, l'écriture  

Code :
  1. {expression}


 est équivalente à  

Code :
  1. <xsl:value-of select="expression" />


 
Pour mr_mat, non, c'est pas compliqué, mais la logique derrière XPath et XSL est totalement différente de ce que l'on a l'habitude de voir ailleurs. Les premiers pas sont pas simples.

 

[jfdsdjhfuetppo]--Message édité par kadreg--[/jfdsdjhfuetppo]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°124550
Profil sup​primé
Posté le 11-04-2002 à 10:04:12  answer
 

kadreg a écrit a écrit :

Pour mr_mat, non, c'est pas compliqué, mais la logique derrière XPath et XSL est totalement différente de ce que l'on a l'habitude de voir ailleurs. Les premiers pas sont pas simples.  



j'essairai un jour si j'ai mle temps :)
pr l'instant je me bat avec des servlet c'est bien aussi !

n°124551
alien_nan
Posté le 11-04-2002 à 10:05:26  profilanswer
 

dans ta xsl, mets des { } pour encapsuler le xsl qd tu ecris tu html....je la refais en plus clair et avec exemples ...
 
si tu as une variable xsl var  
 
tu fais :
 
<a href="{$var}">lien</a>

n°124553
goueg
De passage
Posté le 11-04-2002 à 10:09:19  profilanswer
 

he ben... merci encore a kadreg et aussi alien_nan mais ya un pb, le lien quand je passe sur le curseur c'est file///racine/{nom/@lien} au lieu de la valeur de lien... et pareil si je mets un $.
Il doit me manquer une toute petite astuce?

n°124556
kadreg
profil: Utilisateur
Posté le 11-04-2002 à 10:20:39  profilanswer
 

Tu peux montrer le <xsl:template> qui contient ton action ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°124557
alien_nan
Posté le 11-04-2002 à 10:21:53  profilanswer
 

c normal que ca ne marche pas si c un lien vers un fichier
 
supposons que sur ton serveur localhost tu aies un fichier dans temp et que tu veux fair un lien dessus
 
tu dois avoir :
<a href="http://localhost/temp/{$var}">lien</a>  
 
et var contient le nom de ton fichier

n°124558
goueg
De passage
Posté le 11-04-2002 à 10:25:44  profilanswer
 

alien_nan: ben nan c pas un fichier c une adresse entiere..
 
kadreg: voila
 
<xsl:template match="/">
 <html>
  <head>
      <title>Critères d'affichage des bordereaux</title>
  </head>
  <body bgcolor="#CCCCFF">
   <p/>
   <p/>
   <xsl:for-each select="/recherche/clients">
    <center><table border="0" bgcolor="#AAAAFF" width="50%">
     <xsl:for-each select="client">
      <tr>
       <td width="50%"><center><xsl:value-of select="prenom"/></center></td>
       <td width="50%"><center><b><a href="{@lien}">{nom}</a></b></center></td>
      </tr>
     </xsl:for-each>
     </table></center>
   </xsl:for-each>
  </body>
 </html>
</xsl:template>
 
 
Comme tu le vois j'ai aussi remplacé le ><xsl:value-of select="nom"/> par {nom} et ca marche pas non plus (ca affiche "{nom}"...). Ya pas un truc pour activer les accolades, chépa? :)

n°124561
alien_nan
Posté le 11-04-2002 à 10:30:02  profilanswer
 

essaies plutot :
 
<td width="50%"><center><b><a href="{nom@lien}"><xsl:value-of select="nom"/></a></b></center></td>

mood
Publicité
Posté le 11-04-2002 à 10:30:02  profilanswer
 

n°124564
goueg
De passage
Posté le 11-04-2002 à 10:34:07  profilanswer
 

extrait du code XML
<clients>
....
<client lien="www.sports.com">
   <prenom>Paul</prenom>
   <nom>Machin</nom>
</client>
....
</clients>
 
j'ai mis les liens dans client pour + de clarté maintenant, c pour ca que je mets {@lien} au lieu de {nom/@lien}. Mais quand meme, de toutes facons {nom} devrait marcher??

n°124566
alien_nan
Posté le 11-04-2002 à 10:38:52  profilanswer
 

<xsl:for-each select="client">  
<xsl:variable name=lien select="@lien"/>
     <tr>  
      <td width="50%">
<center><xsl:value-of select="prenom"/></center></td>  
      <td width="50%"><center><b><a href="http://{$lien}"><xsl:value-of select="nom"/>
</center></td>  
     </tr>

n°124571
goueg
De passage
Posté le 11-04-2002 à 10:46:50  profilanswer
 

XML error:
Le mot clé xsl:variable ne doit pas être utilisé ici.  
 
bin porkoaaa?
(j'ai bien corrigé name="lien" )

n°124573
alien_nan
Posté le 11-04-2002 à 10:51:38  profilanswer
 

une autre :  
 
<xsl:for-each select="client">  
    <tr>  
     <td width="50%">
<center><xsl:value-of select="prenom"/></center></td>  
     <td width="50%"><center><b><a href="http://{../@lien}"><xsl:value-of select="nom"/>
</center></td>  
    </tr>  
<xsl:for-each/>

n°124580
goueg
De passage
Posté le 11-04-2002 à 11:02:02  profilanswer
 

alors, pour la variable ca marche pas pasken fait j'ai plusieurs clients, et comme on peut pas modifier la valeur d'une variable ca merde.
 
et pour le dernier essai, ben en fait j'ai toujours le probleme des accolades qui sont pas interpretees... il me met vraiment "http://{../@lien}" comme adresse ce con ;)

n°124583
Profil sup​primé
Posté le 11-04-2002 à 11:04:19  answer
 

lol

n°124585
kadreg
profil: Utilisateur
Posté le 11-04-2002 à 11:05:59  profilanswer
 

Tu utilise quoi comme parseur XSLT ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°124587
goueg
De passage
Posté le 11-04-2002 à 11:07:12  profilanswer
 

euh ben celui de IE5... faudrait que j'aille vers IE6?

n°124590
Profil sup​primé
Posté le 11-04-2002 à 11:11:36  answer
 

Goueg a écrit a écrit :

euh ben celui de IE5... faudrait que j'aille vers IE6?  



YAISS

n°124594
Profil sup​primé
Posté le 11-04-2002 à 11:14:26  answer
 

sinon ton stage ca se passe bien c cool ?

n°124595
goueg
De passage
Posté le 11-04-2002 à 11:14:32  profilanswer
 

ca aurait été emmerdant de demander ca a tous les clients de l'entreprise si j'avais eu besoin de ca...
heureusement (il y a findus! lol) ya bon!! :o)))
 
<td width="50%"><center><b><a>
<xsl:attribute name="HREF"><xsl:value-of select="@lien"/>
</xsl:attribute>
<xsl:value-of select="nom"/></a></b></center></td>
 
avec xsl attribute ca marche... YIPEEEEE :)
encore merci merci kadreg et alien_nan (euh pas mrmat hein? lol)

n°124597
goueg
De passage
Posté le 11-04-2002 à 11:15:49  profilanswer
 

mr_mat a écrit a écrit :

sinon ton stage ca se passe bien c cool ?  




 
ben comme tu vois là c initiation a XML, donc de l'apprentissage... pi fodra que j'etudie la BD ossi, et ke je bosse en commun avec les filles. Ca peut aller koi :)

n°124598
Profil sup​primé
Posté le 11-04-2002 à 11:17:43  answer
 

Goueg a écrit a écrit :

 
 
ben comme tu vois là c initiation a XML, donc de l'apprentissage... pi fodra que j'etudie la BD ossi, et ke je bosse en commun avec les filles. Ca peut aller koi :)  




 
 
elles sont comment les filles ?? foto ?? :D :D

n°124606
kadreg
profil: Utilisateur
Posté le 11-04-2002 à 11:22:33  profilanswer
 

Goueg a écrit a écrit :

 
ben comme tu vois là c initiation a XML, donc de l'apprentissage...



 
A ce que je vois, je suis pas le seul en formation XML :D


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°124616
goueg
De passage
Posté le 11-04-2002 à 11:26:22  profilanswer
 

mrmat >> pas de photo, c ke pour moi! ;)
kadreg >> hé oui, mais apparemment t'as paris de l'avance... j'ai lu mes 1eres lignes avant-hier, et bientot je vais devoir gérer les impressions des pages (ca ca va etre cho! :'|)

n°124844
kadreg
profil: Utilisateur
Posté le 11-04-2002 à 18:03:29  profilanswer
 

viiz a écrit a écrit :

 
 
C'est qui qui vous donne la formation XML ?  




 
C'est fait en interne (la boite a une division formation)


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°125740
goueg
De passage
Posté le 14-04-2002 à 17:24:02  profilanswer
 

ben moi je suis en stage en fait et je me forme avec... ben internet et un bouquin.

mood
Publicité
Posté le   profilanswer
 


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

  [XSL] créer un lien à partir d'infos entrées en XML

 

Sujets relatifs
[XML] XSL: faire un value-of de l'attribut d'un élément...?[ C ] Comment obtenir le descripteur de flux à partir d'un entier ?
[PHP] Ouvrir automatiquement une page Web sans cliquer sur un lienest il possible de récupérer un bios à partir d'un fichier exe ?
creer un menu déroulant avec matlab[PHP] Comment mettre une chaine "www.unsite.com" en un lien ?
[XML] et PerlUtiler delphi pour creer base de donnée, puis faire un prog ...
comment creer un moteur de recherche interne (au site)? 
Plus de sujets relatifs à : [XSL] créer un lien à partir d'infos entrées en XML


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