Plap, j'ai un petit problème avec mon code.

je souhaite créer un <tr> pour chaque balise item contenu dans le XML appeler grâce a document() et mettre en contenu de ce <tr> la valeur de la balise email (contenu dans l'item).

je ne suis pas sur d'être très clair mais le bout de code devrait être plus explicite malgrès le fait qu'il ne fonctionne pas :x


      <xsl:for-each select="document('https://192.168.0.14/getxml.php?grp=1')//item">
        <tr>
          <td colspan="2">
          <xsl:value-of select="document('https://192.168.0.14/getxml.php?grp=1')/email" />
          </td>
    	</tr>
      </xsl:for-each>


je ne pense pas être très loin de la solution mais je ne vois pas pourquoi cela ne fonctionne pas Smiley decu
Quand tu imbriques tes xsl:for-each, ton élément référence change. Ici, si email est élément enfant de item, il faudrait écrire...

<xsl:for-each select="document('https://192.168.0.14/getxml.php?grp=1')//item">
    <tr>
        <td colspan="2">
             <xsl:value-of select="./email" />
        </td>
    </tr>
</xsl:for-each>
Suite à ton message Gilles j'ai essayer divers formats d'Xpath pour obtenir ce que je veux mais sans succès.

j'ai donc décidé de tester ça sur free.fr avec un fichier XML en 'dur' plutôt qu'avec un php me renvoyant un XML et la miracle ça fonctionne.

voici l'URL : http://id0.free.fr/index.xml

le XSL (partie TEST pour ce qui concerne le sujet ici) : http://id0.free.fr/index.xsl
et le XML importé : http://id0.free.fr/autre.xml

autre.xml est du même format que ce que me renvoi le php.

si qq'un a 1 idée je suis preneur.

edit: sachant que le php me renvoi bien un XML.
Modifié par id0 (22 Apr 2008 - 19:43)