[XSL] problème avec <xsl:attribute name="href">

problème avec <xsl:attribute name="href"> [XSL] - XML/XSL - Programmation

Marsh Posté le 08-10-2007 à 10:19:02    

Salut à tous!
 
Il m'arrive un problème que je n'arrive pas à résoudre (Il faut me pardonner, je suis infographiste  :pfff: ). J'aurais donc besoin de l'aide d'informaticiens pour qui je pense ce sera facile   :ouch:  
 
Dans le code de ma page "sommaire_une.xsl"(sensée afficher le sommaire de liens vers des news AFP sur mon site), tout fonctionne tant que je ne modifie pas l'URL => mon problème provient donc de cette ligne :

Citation :

<xsl:attribute name="href">http://www.polyfoot.eu/index.php?option=com_content&task=view&id=310&Itemid=126?article=<xsl:value-of select="../NewsItemRef/@NewsItem"/></xsl:attribute>


 
Alors qu'avec cette ligne, ça fonctionne! (Mais ne me permet pas d'afficher l'article au sein de mon site...) :

Citation :

<xsl:attribute name="href">http://www.polyfoot.eu/SWF/afparticleune.php?article=<xsl:value-of select="../NewsItemRef/@NewsItem"/></xsl:attribute>


 
 
Mon but est d'obtenir un lien semblable à celui-ci (seul la variable article changera) : http://www.polyfoot.eu/index.php?o [...] 13.411.xml
 
Malheureusement, dès que je mets ceci http://www.polyfoot.eu/index.php?o [...] Itemid=126 avant la variable article dans l'URL, j'ai un problème dans le sablotron...
Remplacer les & par

Citation :

&amp;

me direz-vous? Bah non, même problème   :kaola:  
 
Auriez-vous une idée? Une piste? La solution?  :joce:  
 
 
Voici la page complète:
 

Citation :

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="XML" version="1.0" encoding="iso-8859-1"/>
<xsl:template match="/">
  <html>
  <body>
    <xsl:for-each select="NewsML/NewsItem/NewsComponent/NewsComponent/NewsLines">
 <xsl:if test="position() &lt;= 10">
 <a>
<xsl:attribute name="href">http://www.polyfoot.eu/index.php?option=com_content&task=view&id=310&Itemid=126?article=<xsl:value-of select="../NewsItemRef/@NewsItem"/></xsl:attribute>
  <span class="guide">
 
  <xsl:value-of select="HeadLine"/></span>
   </a><br/>      
  <IMG>
   <!-- -->
   <xsl:attribute name="BORDER">
    <xsl:text>0</xsl:text>
   </xsl:attribute>
   <!-- -->
   <xsl:attribute name="HEIGHT">
    <xsl:text>12</xsl:text>
   </xsl:attribute>
   <!-- -->
   <xsl:attribute name="SRC">peau/pointsroses.gif</xsl:attribute>
   <!-- -->
   <xsl:attribute name="WIDTH">
    <xsl:text>166</xsl:text>
   </xsl:attribute>
   <!-- -->
 </IMG><br/>
   </xsl:if>
  </xsl:for-each>    
  </body>
  </html>
</xsl:template></xsl:stylesheet>


---------------
<a href="http://www.polyfoot.eu"><img src="http://www.polyfoot.eu/images/Design/sign.jpg " alt="PolyFoot, votre magazine de football en ligne bientôt dans vos clubs et brasseries"/></a>
Reply

Marsh Posté le 08-10-2007 à 10:19:02   

Reply

Marsh Posté le 08-10-2007 à 13:43:15    

Une solution consiste à utiliser des paramètres en mode POST plutôt qu'en mode GET. Non seulement cela résoudrait ce problème, mais ce serait aussi mieux pour d'autres raisons, comme par exemple le fait que l'on peut avoir plus de paramètres et contenant plus de choses, que ces paramètres n'encombreraient pas la ligne d'adresse, etc.

Reply

Marsh Posté le 08-10-2007 à 15:11:38    

GET ou POST n'ont rien à voir avec ça.
Pour utiliser <xsl:attribute>, il faut le placer dans un <xsl:element> qui définira l'élément <a>, utiliser "<a>" directement ne fonctionnera pas.
Sinon, faut obligatoirement remplacer tes "&" par des "&amp;" et corriger le second "?" de ton URL
http://www.polyfoot.eu/index.php?option=com_content&task=view&id=310&Itemid=126?article=
->

http://www.polyfoot.eu/index.php?option=com_content&amp;task=view&amp;id=310&amp;Itemid=126&amp;article=


Message édité par TheRom_S le 08-10-2007 à 15:12:04

---------------
The Rom's, à votre service
Reply

Sujets relatifs:

Leave a Replay

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