voilà, j'ai un bou de code qui ressemble à ceci :

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
    <NS1:donneEleveResponse xmlns:NS1="urn:helloWorldIntf-IhelloWorld" xmlns:NS2="urn:USOAPStructure">
      <NS2:TBul_Eleve id="1" xsi:type="NS2:TBul_Eleve">
        <nomEle xsi:type="xsd:string">
          Vinber Julien
        </nomEle>
        <classeEle xsi:type="xsd:string">
          En a plus
        </classeEle>
        <listePeriode xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="NS2:TBul_Periode[1]">
          <item href="#2"/>
        </listePeriode>
      </NS2:TBul_Eleve>


et je voudrait pouvoir atteindre l'élément "nomEle" qui ce trouve dans "NS2:TBul_Eleve".

Je fait donc :

<xsl:value-of select="//nomEle" />


et cela marche tres bien. Mais si maintenant je fait

<xsl:value-of select="//NS2:TBul_Eleve/nomEle" />


Cela ne marche pas j'ai un message d'erreure :

a écrit :
Warning: Sablotron error on line 6: invalid namespace prefix 'NS2:TBul_Eleve' in d:\program files\easyphp1-7\www\example\xslt4.php on line 21


et si je suprime le NS2, alors il ne trouve rien dutout. Et mon probléme c'est que je ne peux pas modifier le fichier source, et je n'est trouver aucune doc actuelement qui traiterais justement le ce cas là...
Modifié le 19 Nov 2004 - 12:58
bon, j'ai trouver une solution qui me convint que tres moyennement, mais bon :

<xsl:value-of select="child::*/child::*/child::*/child::*[1]/nomEle" />


Si qq'un à une autre idée, je suis preuneur...
Essaie de déclarer ton namespace dans ton xsl:stylesheet:

<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:NS2="urn:USOAPStructure">