IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

petit probleme avec XSLT


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 18
    Points
    18
    Par défaut petit probleme avec XSLT
    salut,
    le site amazon me retourne un fichier xml qu'a la forme suivante:
    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
     
    <?xml version="1.0"?>
    <ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">
    	<OperationRequest>
    		...
    	</OperationRequest>
    	<Items>
    		...
    		<TotalResults>3</TotalResults>
    		<TotalPages>1</TotalPages>
    		<Item>
    			<ASIN>2212090412</ASIN>
                            ...
                    </Item>
                   <Item>
    			<ASIN>2212091425</ASIN>
                            ...
                    </Item>
             <Items>
    <ItemSearchResponse>
    bref, quand j'applique sur ce fichier le fichier xsl suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="ItemSearchResponse">
    		<xsl:apply-templates select="Items"/>
    	</xsl:template>
    	<xsl:template match="Items">
    		<h1>
    			<xsl:value-of select="Item/ASIN[1]"/>
    		</h1>
    	</xsl:template>
    </xsl:stylesheet>
    ça casse et j'ai pas le resltat voulu, par contre quand je remplace dans le fichier xml obtenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ItemSearchResponse>
    alors la ça passe !!!
    avez vous une idée ?
    merci d'avance

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    il faut déclarer le namespace dans ton xsl et mettre un / dans le premier template que tu match (seulement si c'est la balise root) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">  
       <xsl:template match="/ItemSearchResponse"> 
          <xsl:apply-templates select="Items"/> 
       </xsl:template> 
       <xsl:template match="Items"> 
          <h1> 
             <xsl:value-of select="Item/ASIN[1]"/> 
          </h1> 
       </xsl:template> 
    </xsl:stylesheet>

    Thierry

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    merci pour votre réponse.
    j'ai testé mais ça donne tjr rien
    fichier xml sur lequel j'ai appliqué ton xsl
    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
     
    <?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>
    ça me retourne
    <?xml version="1.0" encoding="UTF-8"?>274400733dfd1Brian FrancisActive Server Pages 2.0 12744007331Christophe WilleActive Server Pages 2.0 2


  4. #4
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Désolé je n'avais pas vu toute les erreurs!


    Ce quî nous donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">  
    <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>
    ++

    Thierry

Discussions similaires

  1. [C#] Petit problème avec un élément du FAQ
    Par matech dans le forum ASP.NET
    Réponses: 11
    Dernier message: 24/01/2008, 14h11
  2. Petit problème avec grep
    Par dug dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 11/05/2005, 15h34
  3. petit probleme avec Devil
    Par ellipse dans le forum DevIL
    Réponses: 2
    Dernier message: 01/02/2005, 18h41
  4. [TP]petit probleme avec solution
    Par pompompolom dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 02/12/2004, 19h48
  5. petit probleme avec l'éditeur de builder
    Par qZheneton dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/10/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo