Bonjour

Je suis confronté à problème depuis hier sans parvenir à la moindre solution pertinente.
Un partenaire me fourni un flux au format atom, et je n'ai aucun moyen de lui faire modifier pour isoler les infos dont j'ai besoin. (oui, une opération de dernière minute avec le seul techos partenaire qui part en déplacement - super pratique).

Bref. le format reçu ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
  <entry>
    <title type="html">
      <![CDATA[titre de l'article!]]>
    </title>
    <id>885</id>
    <updated>2010-03-07T08:56:26-05:00</updated>
    <link href="http://www.partenaire.com/fr/a+la+une/article.html"></link>
    <content type="html">
      <![CDATA[<div id="block"><a href="#" title="title"><img src="http://www.partenaire.com/images/toto.jpg" width="430" height="275" /></a><h3>lorem ipsum</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent turpis elit, convallis quis euismod ut, porta nec nisi. Nulla odio mauris, pharetra et pretium at, ornare congue velit. Donec pulvinar tellus ut ipsum pharetra eleifend quis semper magna. Proin faucibus, mi ac viverra fermentum, eros libero varius ligula, a aliquam diam augue a risus. Aenean ultrices sapien eu arcu scelerisque id euismod risus fermentum.</p></div>]]>
    </content>
  </entry>
J'ai donc bien réussi à récupérer :
- le titre
- le lien de l'article
- le contenu de l'article en nettoyant les balises html grace au script ci dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
	<xsl:template name="strip-tags">
 
		<xsl:param name="text"/>
 
		<xsl:choose>
 
		<xsl:when test="contains($text, '&lt;')"> <!-- Pour les balises -->
		<xsl:value-of select="substring-before($text, '&lt;')"/>
		<xsl:call-template name="strip-tags">
		<xsl:with-param name="text" select="substring-after($text, '&gt;')"/>
		</xsl:call-template>
		</xsl:when>
 
		<xsl:otherwise> <!-- Sinon on affiche le texte -->
		<xsl:value-of select="$text"/>
		</xsl:otherwise>
 
		</xsl:choose>
 
</xsl:template>
Mais voila, j'ai aussi besoin de récupérer l'image qui est renseignée à l'intérieur du cdata (<img src="http://www.partenaire.com/images/toto.jpg" width="430" height="275" />) et la je sèche... je ne parviens pas à isoler la chaine de caractère correspondant à l'url de l'image (http://www.partenaire.com/images/toto.jpg).

Quelqu'un aurait il une idée ?
Sinon je vais devoir faire les choses comme un sagouin en affichant le code html dans ma page finale uniquement pour récupérer la valeur qui m'intéresse avec un javascipt de derrière les fagots.

Je vous remercie d'avance la personne qui peut m'aider !

Tres cordialement

Arnold