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

XML/XSL et SOAP Discussion :

[débutant] Ajout bizarre d'une chaîne xmlns=""


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut [débutant] Ajout bizarre d'une chaîne xmlns=""
    Bonjour à tous;
    Je réalise actuellement une application ASP.Net qui génère des fihciers VoiceXml. A partir d'un fichier XML, je génère un fichier VoiceXml.
    Voici mon fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     <?xml version="1.0" encoding="utf-8" standalone="no" ?> 
        <itinéraire handicap="1" date="13/05/2004 14:31:52" PointDepart="Gare" PointArrivee="Aéroport">
           <Segment id="3">
              <Point_Depart id="2" etage="1">
                 <Description_Depart>Gare</Description_Depart> 
              </Point_Depart>
              <Point_Arrivee id="3" etage="1">
                 <Description_Arrivee>Aéroport</Description_Arrivee> 
              </Point_Arrivee>
              <Description>Segment3</Description> 
           </Segment>
        </itinéraire>
    Voici mon fichier xsl (pas encore complet pour l'instant!) :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
      <?xml version="1.0" encoding="ISO-8859-1" ?> 
         <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
            <xsl:template match="itinéraire">
               <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
               <form id="etape0">
                  <block>
                     <prompt> 
                        l'ITINERAIRE demandé va de 
                        <xsl:value-of select="@PointDepart" /> 
                         a 
                        <xsl:value-of select="@PointArrivee" /> 
                     </prompt>
                     <goto next="#etape1" /> 
                  </block>
               </form>
               <xsl:apply-templates /> 
               <form id="fin">
                  <block>
                      <prompt bargein="false">Fin du trajet</prompt> 
                  </block>
               </form>
               </vxml>
            </xsl:template>
            <xsl:template match="Segment">
               <xsl:variable name="numetape" select="position()" /> 
               <xsl:variable name="etapeSuiv" select="position()+1" /> 
               <form id="etape{$numetape}">
                  <block>
                     <prompt>
                        étape n° 
                        <xsl:value-of select="$numetape" /> 
                        <xsl:value-of select="Description" /> 
                    </prompt>
                    <noinput>
                       <xsl:if test="position()=last()">
                          <goto next="#fin" /> 
                       </xsl:if>
                       <xsl:if test="not(position()=last())">
                          <goto next="#etape{$etapeSuiv}" /> 
                       </xsl:if>
                    </noinput>
                 </block>
              </form>
           </xsl:template>
      </xsl:stylesheet>
    Et voici le résultat obtenu :

    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
    22
    23
     
      <?xml version="1.0" encoding="utf-8" ?>
         <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
            <form id="etape0">
               <block>
                   <prompt>l'ITINERAIRE demandé va de Gare a Aéroport</prompt> 
                   <goto next="#etape1" /> 
               </block>
            </form>
            <form id="etape1" xmlns="">
               <block>
                  <prompt>étape n° 1Segment3</prompt> 
                  <noinput>
                     <goto next="#fin" /> 
                  </noinput>
               </block>
            </form>
            <form id="fin">
               <block>
                  <prompt bargein="false">Fin du trajet</prompt> 
               </block>
            </form>
         </vxml>
    Mon problème intervient au niveau des form ayant un id égal à etape.... En effet, je ne comprends pas pourquoi la transformation xsl m'ajoute un attribut xmlns égal à une chaîne vide car le problème c'est que la balise form se supporte pas a priori d'attribut xmlns donc je suis bien embêtée ...
    Si quelqu'un a la moindre petite idée, elle est la bienvenue !

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour

    Pas banal en effet...

    Le seul commencement de début d'amorçe d'explication pourrait venir du fait que dans ta PI tu spécifies standalone="no" sans pour autant préciser ensuite une DTD avec <!DOCTYPE

    Mets standalone="yes" et croise les doigts ...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    C'est vrai que c'était pas très logique ce que j'avais fait mais malheureusement même en mettant standalone à yes, ça ne change rien !

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    il faut ausi rajouter le namespace dans la balise "xsl:stylesheet" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
             xmlns="http://www.w3.org/2001/vxml">
    ne me demande pas pourquoi, j'ai juste vu que ca résoud le problème

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup, ça marche nickel maintenant !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] ajouter des contrôles à une feuille par code
    Par Claude_Azoulai dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/04/2010, 18h51
  2. ajouter un charactère à une chaîne
    Par loupinter dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 25/02/2010, 10h35
  3. [Débutant] Parser et réordonner une chaîne de caractères
    Par Ykaar dans le forum Windows Forms
    Réponses: 6
    Dernier message: 02/06/2007, 12h51
  4. Ajout de balise à une chaîne
    Par blueice dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 09h48
  5. Réponses: 4
    Dernier message: 09/11/2006, 00h32

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