Bonjour,
Je suis très attiré par la 3d sur le web et notamment par le très récent format x3d. je précise que je débute avec les technologies (xml/xslt/x3d).Je connais également très mal le service web d'Amazon.Néanmoins je souhaiterai réaliser une petite vitrine interactive en guise d'exercice.

En fait il s'agirait de récupérer une réponse du service web Amazon sous forme xml puis de la traiter avec un fichier xsl pour obtenir un x3d.
J'ai déjà écrit un xsl pour tester.

Mon problème est que je n'arrive pas avec le fichier xml qui est renvoyé par le service web et mon fichier Xsl à générer de x3d.J'utilise le transformateur PHP XSLTProcessor mais ça ne génére pas le x3d attendu.Je pense que le problème viens du xml qu'Amazon me renvoie.Quand je l'ouvre sous firefox il a un formatage correct mais quand je l'ouvre sous n'importe quel éditeur, il n'y a aucun retour à la ligne....Le fichier XML tient sur une seule ligne...J'ai cherché un peu partout sur le site du web service mais j'ai rien trouvé.Est ce que quelqu'un a déjà utiliser ce service et sait comment s'y prendre??

Merci d'avance pour votre aide
Adun a écrit :
il n'y a aucun retour à la ligne....Le fichier XML tient sur une seule ligne...

Ça n'est normalement pas problématique, il me semble. En tout cas, l'absence d'indentation n'est pas une erreur syntaxique en XML. Par contre, il est possible (mais à mon avis peu probable) que ça pose problème à PHP XSLTProcessor.

Mais je suis très incompétent dans ce domaine. Smiley lol
merci pour votre réponse, j'ai trouvé d'ou ça vient mais je n'arrive pas à résoudre le problème
le code PHP


 // CHargement du source XML
$xml = new DOMDocument;
$xml->load('forum.xml');
//echo $xml;
 
$xsl = new DOMDocument;
$xsl->load('forum.xsl');

// Configuration du transformateur 
$proc = new XSLTProcessor; 
$proc->setParameter('xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05','','');
$proc->importStyleSheet($xsl); // attachement des règles xsl echo 
echo $proc->transformToXML($xml); 


test.xml

 <?xml version="1.0" encoding="ISO-8859-1"?>                                               
<?xml-stylesheet type="text/xsl" href="amazon.xsl"?>                                     
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">
	<Items>                                                                                
		<Item>                                                                               
			<ASIN>274400733dfd1</ASIN>                                                         
			<ItemAttributes>                                                                   
				<Author>Brian Francis</Author>                                                   
				<Title>Active Server Pages 2.0 1</Title>                                         
			</ItemAttributes>                                                                  
		</Item>                                                                              
		<Item>                                                                               
			<ASIN>2744007331</ASIN>                                                            
			<ItemAttributes>                                                                   
				<Author>Christophe Wille</Author>                                                
				<Title>Active Server  Pages 2.0 2</Title>                                        
			</ItemAttributes>                                                                  
		</Item>                                                                              
	</Items>                                                                               
</ItemSearchResponse>                                                                    
                         


test.xsl

  <?xml version="1.0" encoding="UTF-8"?>                                                                                                               
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:template  match="/">                                                                                                                             
<xsl:apply-templates select="ItemSearchResponse"/>                                                                                                    
</xsl:template>                                                                                                                                       
   <xsl:template match="ItemSearchResponse">                                                                                                          
      <xsl:apply-templates select="Items"/>                                                                                                           
   </xsl:template>                                                                                                                                    
   <xsl:template match="Items">                                                                                                                       
      <h1>                                                                                                                                            
         <xsl:value-of select="Item[position()='1']/ASIN"/>                                                                                           
      </h1>                                                                                                                                           
   </xsl:template>                                                                                                                                    
</xsl:stylesheet>  


La transformation ne fonctionne pas.Je crois que mon problème vient du namespace car quand je l'enlève du fichier xml

Code XML :

  <ItemSearchResponse>  

au lieu de
Code XML :

 <ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">  

ça fonctionne...
J'ai donc essayé d'envoyer le namespace
Code :

$proc->setParameter('http://webservices.amazon.com/AWSECommerceService/2005-10-05','','');

mais rien n'y fait.
merci d'avance pour votrre aide ^^
Pour ma part, ça me dépasse. Par contre je déplace le sujet dans le salon qui va bien, et j'espère que tu y trouveras un peu d'aide.