Sujet: xsl:attribute name="href" => Problème...
08/10/2007 @ 09:57:51: vatzyaya: xsl:attribute name="href" => Problème...
Salut à tous!

Il m'arrive un problème que je n'arrive pas à résoudre (Il faut me pardonner, je suis infographiste :tinostar:). J'aurais donc besoin de l'aide d'informaticiens et d'après mes souvenirs, cette communauté est bien sympathique :clindoeil:. Je pense que pour vous ce sera facile :smile:

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 :
  1. <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...) :
  1. <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?option=com_content&task=view&id=310&Itemid=126&article=- newsmlmmd.c554954def59467a242b439527b8c413.411.xml

Malheureusement, dès que je mets ceci http://www.polyfoot.eu/index.php?option=com_content&task=view&id=310&Itemid=126 avant la variable article dans l'URL, j'ai un problème dans le sablotron...
Remplacer les & par & me direz-vous? Bah non, même problème :sweat:


Auriez-vous une idée? Une piste? La solution? :joce:


Voici la page complète:

  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  2. <xsl:output method="XML" version="1.0" encoding="iso-8859-1"/> 
  3. <xsl:template match="/"
  4.   <html
  5.   <body
  6.     <xsl:for-each select="NewsML/NewsItem/NewsComponent/NewsComponent/NewsLines"
  7.  <xsl:if test="position() <= 10"
  8.  <a
  9. <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
  10.   <span class="guide"
  11.   <xsl:value-of select="HeadLine"/></span
  12.    </a><br/>       
  13.   <IMG
  14.    <!-- --> 
  15.    <xsl:attribute name="BORDER"
  16.     <xsl:text>0</xsl:text
  17.    </xsl:attribute
  18.    <!-- --> 
  19.    <xsl:attribute name="HEIGHT"
  20.     <xsl:text>12</xsl:text
  21.    </xsl:attribute
  22.    <!-- --> 
  23.    <xsl:attribute name="SRC">peau/pointsroses.gif</xsl:attribute
  24.    <!-- --> 
  25.    <xsl:attribute name="WIDTH"
  26.     <xsl:text>166</xsl:text
  27.    </xsl:attribute
  28.    <!-- --> 
  29.  </IMG><br/> 
  30.    </xsl:if
  31.   </xsl:for-each>    
  32.   </body
  33.   </html
  34. </xsl:template></xsl:stylesheet>
08/10/2007 @ 10:54:52: gizmo: xsl:attribute name="href" => Problème...
Plusieurs erreurs dans ton premier lien:
- & => &
- 2 "?" apres l'url, seul le premier est permis
08/10/2007 @ 11:08:54: vatzyaya: xsl:attribute name="href" => Problème...
J'ai trouvé la solution!
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  2. <xsl:output method="XML" version="1.0" encoding="iso-8859-1"/> 
  3. <xsl:template match="/"
  4.   <html
  5.   <body
  6.     <xsl:for-each select="NewsML/NewsItem/NewsComponent/NewsComponent/NewsLines"
  7.  <xsl:if test="position() <= 10"
  8.   
  9.   
  10.   
  11.    <a href="http://www.polyfoot.eu/index?option=com_content&task=view&id=310&Itemid=126&art- icle={../NewsItemRef/@NewsItem}" xmlns="http://www.w3.org/1999/xhtml"
  12.   
  13.   
  14.   
  15.   <span class="guide"
  16.   
  17.   <xsl:value-of select="HeadLine"/></span
  18.    </a><br/>       
  19.   <IMG
  20.    <!-- --> 
  21.    <xsl:attribute name="BORDER"
  22.     <xsl:text>0</xsl:text
  23.    </xsl:attribute
  24.    <!-- --> 
  25.    <xsl:attribute name="HEIGHT"
  26.     <xsl:text>12</xsl:text
  27.    </xsl:attribute
  28.    <!-- --> 
  29.    <xsl:attribute name="SRC">peau/pointsroses.gif</xsl:attribute
  30.    <!-- --> 
  31.    <xsl:attribute name="WIDTH"
  32.     <xsl:text>166</xsl:text
  33.    </xsl:attribute
  34.    <!-- --> 
  35.  </IMG><br/> 
  36.    </xsl:if
  37.   </xsl:for-each>    
  38.   </body
  39.   </html
  40. </xsl:template></xsl:stylesheet>
10/10/2007 @ 09:03:38: vatzyaya: xsl:attribute name="href" => Problème...
UP! J'ai un nouveau petit problème...

Mon texte n'est pas formaté à l'affichage de l'article. Quel est le problème selon vous?
Voici un exemple : http://www.polyfoot.eu/index?option=com_content&task=view&id=310&Itemid=126&article=- newsmlmmd.60d12263085dff48e9cdcdc3c76c6f7b.301.xml

Il semblerait que mes
  1. <p> </p>
ne soients pas pris en compte...
Une idée? Voici ce que j'ai fait :

  1. <?php if(isset($_GET ['article'])) { 
  2. $article = $_GET['article']; 
  3. if ($article != ""
  4. $xh = xslt_create(); 
  5.   
  6. $file=fopen("http://www.polyfoot.eu/AFP/francais/special/football/$article","r"); 
  7. $xml=fread($file,16384); 
  8. fclose($file); 
  9.   
  10. $xml = ereg_replace ("<p>""^p"$xml); 
  11. $xml = ereg_replace ("</p>""p^"$xml); 
  12.   
  13. $file=fopen("http://www.polyfoot.eu/AFP/francais/brutune.xsl","r"); 
  14. $xsl=fread($file,16384); 
  15. fclose($file); 
  16.   
  17. $arguments = array
  18.   '/_xml' => $xml
  19.   '/_xsl' => $xsl 
  20.   ); 
  21.   
  22. $result = xslt_process($xh'arg:/_xml''arg:/_xsl'NULL$arguments); 
  23.   
  24. $result = str_replace ( "^p""<p>",  $result); 
  25. $result = str_replace ( "p^""</p>"$result); 
  26.   
  27. xslt_free($xh); 
  28.   
  29. print "$result"
  30. ?>
10/10/2007 @ 09:24:11: gizmo: xsl:attribute name="href" => Problème...
Bah c'est surtout qu'il n'y a aucun <p> </p>...
10/10/2007 @ 09:31:14: vatzyaya: xsl:attribute name="href" => Problème...
Bah c'est surtout qu'il n'y a aucun <p> </p>...


C'est à dire?
Il doit y avoir un moyen de formater ce flux normalement...
10/10/2007 @ 09:56:39: gizmo: xsl:attribute name="href" => Problème...
Ah oui, ca, surement. Mais deja, je ne comprend pas l'interet de ces ereg_replace suivis de str_replace pour remplacer les <p>.
Normalement, c'est completement inutile si ton XML est formate correctement et que ton xslt ne les jette pas a la poubelle.
10/10/2007 @ 10:15:10: vatzyaya: xsl:attribute name="href" => Problème...
Avec ou sans ces lignes, il n'y à pas de changement... Aurais-tu une idée de comment formater ce texte correctement? Comment savoir si mon xslt envoie mes balises à la poubelle?
Retour