Poster une réponse à un sujet: xsl:attribute name="href" => Problème...
Attention, ce sujet est un sujet ancien (6165 jours sans réponse)
vatzyaya
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?
gizmo
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.
Normalement, c'est completement inutile si ton XML est formate correctement et que ton xslt ne les jette pas a la poubelle.
vatzyaya
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...
gizmo
Bah c'est surtout qu'il n'y a aucun <p> </p>...
vatzyaya
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 ne soients pas pris en compte...
Une idée? Voici ce que j'ai fait :
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 ne soients pas pris en compte...
Une idée? Voici ce que j'ai fait :
- <?php if(isset($_GET ['article'])) {
- $article = $_GET['article'];
- if ($article != "")
- {
- $xh = xslt_create();
- $file=fopen("http://www.polyfoot.eu/AFP/francais/special/football/$article","r");
- $xml=fread($file,16384);
- fclose($file);
- $xml = ereg_replace ("<p>", "^p", $xml);
- $xml = ereg_replace ("</p>", "p^", $xml);
- $file=fopen("http://www.polyfoot.eu/AFP/francais/brutune.xsl","r");
- $xsl=fread($file,16384);
- fclose($file);
- $arguments = array(
- '/_xml' => $xml,
- '/_xsl' => $xsl
- );
- $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
- $result = str_replace ( "^p", "<p>", $result);
- $result = str_replace ( "p^", "</p>", $result);
- xslt_free($xh);
- print "$result";
- }
- }
- ?>
vatzyaya
J'ai trouvé la solution!
- <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() <= 10">
- <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">
- <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>
gizmo
Plusieurs erreurs dans ton premier lien:
- & => &
- 2 "?" apres l'url, seul le premier est permis
- & => &
- 2 "?" apres l'url, seul le premier est permis
vatzyaya
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
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 :
Alors qu'avec cette ligne, ça fonctionne! (Mais ne me permet pas d'afficher l'article au sein de mon site...) :
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
Auriez-vous une idée? Une piste? La solution?
Voici la page complète:
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: :smile:](images/smileys/smile.gif)
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 :
- <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...) :
- <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: :sweat:](images/smileys/sweat.gif)
Auriez-vous une idée? Une piste? La solution?
![:joce: :joce:](images/smileys/joce.gif)
Voici la page complète:
- <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() <= 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>