Bonjour,

Je viens de commencer à m'intéresser au XSLT pour résoudre un problème :
je reçois des fichiers xml qui suivent un format différent du format d'entrée d'une interface sur laquelle je travaille.
Je voudrais transformer ce fichier xml (Le fichier xml) en un autre fichier xml, ne comportant que les noeuds item, title, author, ASIN et RequestProcessingTime, en ayant la structure suivante :

<SimilarityLookupResponse>
 <Request><RequestProcessingTime></RequestProcessingTime></Request>
 <ItemList><Item>
                        <ASIN></ASIN>
                        <Title></Title>
                        <Author></Author>
               </Item>
               <Item>
               </Item>
                 ...
</ItemList>

J'ai beau m'inspirer d'exemples trouvés sur le forum, je n'arrive même pas à simplement sélectionner rien qu'un seul noeud au hasard.

Voici le code de mon petit fichier xsl de test :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2006-06-28" 
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="/">
  <html>
  <body>
    <h2>Simply taking one element from the XML File</h2>
	<p><xsl:value-of select="aws:ResponseGroup"/></p>

  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Le xml se trouve ici :

Le fichier xml

Comme vous le constatez, cela n'affiche que le texte en dur dans le xsl, sans arriver à sélectionner le noeud ResponseGroup.

J'ai quand même l'impression que ce que je veux faire doit être très simple en xslt, mais je coince depuis plusieurs jours, c'est très frustrant.
Des idées ?

Merci !
Bonjour,

mangetonchapeau a écrit :
Je viens de commencer à m'intéresser au XSLT
Bien bien Smiley smile

mangetonchapeau a écrit :
J'ai quand même l'impression que ce que je veux faire doit être très simple en xslt,
Oui je confirme ça l'est.

mangetonchapeau a écrit :
Des idées ?
Tu te mélanges les pinceaux avec les espaces de noms. aws:ResponseGroup représente un élément inexistant de ton fichier source car dans ce fichier source le ResponseGroup qui s'y trouve est dans un autre espace de noms.