Bonjour, je débute avec xml et j'espère que vous ne m'en voudrez pas Smiley ohwell
J'aimerais passer deux variables dans l'url cependant, je ne comprends rien au xsl.

Je dois obtenir cette adresse au final : http://www.polyfoot.eu/index.php?option=com_content&task=view&id=310&Itemid=126&article=newsmlmmd.b9934f5c38af8aacffe0489555ba47a8.9a1.xml

Actuellement, j'ai ceci dans ma page .xsl :
<xsl:attribute name="href">  http://www.polyfoot.eu/SWF/afparticleune.php?article=<xsl:value-of  select="../NewsItemRef/@NewsItem"/></xsl:attribute>


Donc, il suffirait d'ajouter ces variables à l'URL : option=com_content&task=view et id=310&Itemid=126
Mais c'est pas si facile...

J'ai essayé ceci :

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


mais celà ne fonctionne pas Smiley decu

Pourriez-vous me mettre sur la voie ? C'est plus compliqué que je ne le croyais!
Modifié par vatzyaya (05 Oct 2007 - 16:05)
Modérateur
Salut, Smiley smile

Tu peux faire comme suit :
<xsl:template match="/">
    ...
    <p><xsl:apply-templates match="NewsItemRef"/></p>
    ...
</xsl:template>

<xsl:template match="NewsItemRef">
    <a href="http://www.polyfoot.eu/index?option=com_content&amp;task=view&amp;id=310&amp;Itemid=126&amp;article={@NewsItem}" xmlns="http://www.w3.org/1999/xhtml">mon lien</a>
</xsl:template>
Merci Koala!

Je viens de tenter et j'obtiens une autre erreur...
Je suis vraiment vraiment nul. Smiley bawling

Warning: Sablotron error on line 12: XML parser error 7: mismatched tag in /home.10.21/polyfoot/www/AFP/francais/indexune.php on line 17

J'espère ne pas abuser de ton temps si je te demande de me créer le code en fonction de ma page :

<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/SWF/afparticleune.php?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>


Vraiment désolé Smiley confused
Modifié par vatzyaya (08 Oct 2007 - 10:35)
Merci merci !!!
Grâce à toi, ça fonctionne!

<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 href="http://www.polyfoot.eu/index?option=com_content&amp;task=view&amp;id=310&amp;Itemid=126&amp;article={../NewsItemRef/@NewsItem}" xmlns="http://www.w3.org/1999/xhtml">



  <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>




Modérateur
De rien. Smiley smile

Une petite remarque : Vu que la syntaxe xsl est déjà en elle-même verbeuse, c'est dommage de la complexifier inutilement. Smiley cligne

Par exemple :
  <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>
peut s'écrire :
<img border="0" height="12" src="peau/pointsroses.gif" width="166" />
Par la suite, ce qui serait pas mal serait aussi de valider ton document (x)html parce que là, ce n'est pas le cas.

PS : N'oublie pas d'ajouter la mention [Résolu] au titre de ton sujet si tu considères que tel est le cas. Merci d'avance. Smiley jap
Modifié par koala64 (08 Oct 2007 - 11:15)
Effectivement, ce serait plus simple Smiley smile

En fait, j'ai un autre problème depuis cette manipulation alors je n'ai pas encore noté ce post résolu : mes caractères accentués sont désormais remplacés par les fameux caractères étranges...

Smiley rolleyes
Modérateur
Salut,

Pourrais-tu indiquer ton code xml et xsl complets ?

Et n'aurais-tu pas fait un copier-coller d'un bout de code qui se trouvait en iso-8859-1 par exemple sur une page en utf-8 ?
Salut!
Etonnamment, j'obtenais cette erreur sur ma page test mais sur mon site ça fonctionne Smiley ohwell

Par contre, je dois désormais afficher une image miniature avant chaque titre de ce sommaire. Elles sont disponibles sur mon serveur ftp (envoyées quotidiennement par AFP) mais je vais tout d'abord tenter de le faire par moi même avant de vous déranger.

Merci en tout cas pour cette super aide! Smiley biggrin