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 :

[XSLT][sablotron]Problème de parser XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 57
    Points
    57
    Par défaut [XSLT][sablotron]Problème de parser XML
    Salut tout le monde je reviens vers vous pour un problème avec le module sablotron je ne sais pas si c'est du à un bug ou autre mais bon c'est quand même bizarre. j'arrive à parser des fichiers XML et à effectuer des transformations XSL sans problème mais à un moment donné il me dis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XML parser error 7: mismatched tag (# 256)
    ce que je ne comprend pas c'est que le code source xml et la feuille de style xsl je les ai passé dans XMLSpy Home et rien il me dis que le fichier xml est bien formé et me fait correctement la transformation avec xsl. Maintenant m'a question est ce que quelqu'un aurait une idée de la cause du problème, parceque moi je ne vois pas j'ai pensais au début que c'était les accents je les ai alors enlevés mais rien du tout. Alors que pour certaines de mes pages la transformation se fait correctement et des que j'arrive sur celle là ça plante ??????
    Si quelqu'un a une idée ???????

  2. #2
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 57
    Points
    57
    Par défaut
    Pour ceux que ça intéresse voilà les codes xml est xsl. le xml est généré dynamiquement je le récupère dans une vairable et j'utilse la fonction pour la transformation.

    XML:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
     
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_aide(list)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Liste des textes d'aide</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Aide</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">aide_list.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_aide(add)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Ajout de texte d'aide</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Ajout</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">aide_add.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_utilisateur(add)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Ajout d'utilisateur</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Ajout</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">utilisateur_add.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_fonctionnalite(add)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Ajout de fonctionnalit</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Ajout</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">fonctionnalite_add.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_profil(add)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Ajout de profil</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Ajout</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">profil_add.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">main_logon</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Authentification</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Authentification</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">MENU</typefonctionnalite>
        <idscript size="10"></idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_profil(enq)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Consultation de profil</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Consultation</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">profil_enq.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_fonctionnalite(enq)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Consultation de fonctionnalite</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Consultation</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">fonctionnalite_enq.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_aide(enq)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Consultation de texte d'aide</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Consultation</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">aide_enq.php</idscript>
      </fonctionnalite>
      <fonctionnalite>
        <fonctionnaliteid size="10" pkey="y" required="y">menu_utilisateur(enq)</fonctionnaliteid>
        <descriptionfonctionnalite size="50" required="y">Consultation d'utilisateur</descriptionfonctionnalite>
        <libellefonctionnalite size="50" required="y">Consultation</libellefonctionnalite>
        <iconefonctionnalite size="10"></iconefonctionnalite>
        <fonctionnaliteactive required="y" control="dropdown" optionlist="yes_no">1</fonctionnaliteactive>
        <typefonctionnalite required="y" control="dropdown" optionlist="fonctionnalite_type">PROC</typefonctionnalite>
        <idscript size="10">utilisateur_enq.php</idscript>
      </fonctionnalite>
      <lookup>
        <yes_no>
          <option id=""> </option>
          <option id="NO">NO</option>
          <option id="YES">YES</option>
        </yes_no>
        <fonctionnalite_type>
          <option id=""></option>
          <option id="Menu">Menu</option>
          <option id="Proc">Proc</option>
        </fonctionnalite_type>
      </lookup>
      <actbar>
        <button id="reset" class="reset">RESET</button>
      </actbar>
      <menubar>
        <button id="/interfaces/utilisateur_list.php">Utilisateurs</button>
        <button id="/interfaces/profil_list.php">Profils</button>
        <button id="/interfaces/fonctionnalite_list.php" active="y">Fonctionnalites</button>
        <button id="/interfaces/aide_list.php">Aide</button>
        <button id="/interfaces/trace_dtl(list).php">Trace</button>
        <stack id="/interfaces/main.php">Accueil</stack>
        <stack id="/interfaces/fonctionnalite_list.php">Fonctionnalites</stack>
      </menubar>
      <navbar>
        <button id="task#/interfaces/fonctionnalite_add.php" context_preselect="N">Ajout</button>
        <button id="task#/interfaces/fonctionnalite_search.php" context_preselect="N">Recherche</button>
        <button id="task#/interfaces/fonctionnalite_del.php" context_preselect="Y">Suppression</button>
        <button id="task#/interfaces/fonctionnalite_upd.php" context_preselect="Y">Mise e jour</button>
        <button id="task#/interfaces/fonctionnalite_enq.php" context_preselect="Y">Consultation</button>
      </navbar>
      <pagination>
        <page id="main" numrows="30" curpage="1" lastpage="3"/>
      </pagination>
      <infomsg/>
      <structure>
        <main id="fonctionnalite">
          <columns>
            <column width="5"/>
            <column width="50"/>
            <column width="150"/>
            <column width="200"/>
            <column width="70"/>
          </columns>
          <item>
            <cell label=""/>
            <cell field="selectbox"/>
          </item>
          <item>
            <cell label="ID"/>
            <cell field="fonctionnaliteid"/>
          </item>
          <item>
            <cell label="Description"/>
            <cell field="descriptionfonctionnalite"/>
          </item>
          <item>
            <cell label="Libelle"/>
            <cell field="libellefonctionnalite"/>
          </item>
          <item>
            <cell label="Type"/>
            <cell field="typefonctionnalite"/>
          </item>
        </main>
      </structure>
      <params>
        <language>fr</language>
        <page>Page</page>
        <item>Enreg</item>
        <of>de</of>
        <first>Premier</first>
        <last>Dernier</last>
        <prev>Précédent</prev>
        <next>Suivant</next>
        <show>Afficher</show>
        <select-all>Sélectionner tout</select-all>
        <unselect-all>Désélectionner tout</unselect-all>
        <help>Aide</help>
        <about>A propos</about>
        <page-created>Page créée en</page-created>
        <seconds>secondes</seconds>
        <logout>Déconnexion</logout>
        <new-session>Nouvelle session</new-session>
        <mode>read</mode>
        <taskid>fonctionnalite_list.php</taskid>
        <help_root>http://127.0.0.1:81/interfaces</help_root>
        <script_time>0,30981</script_time>
      </params>
    </root>
    Et le code xsl (enfin une partie) :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     
    <xsl:output method='xml'
                indent="yes"
                omit-xml-declaration="yes"
                doctype-public = "-//W3C//DTD XHTML 1.0 Transitional//EN"
                doctype-system = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    />
     
    <!-- include common templates -->
    <xsl:include href="std.column_hdg.xsl"/>
    <xsl:include href="std.data_field.xsl"/>
    <xsl:include href="std.head.xsl"/>
    <xsl:include href="std.pagination.xsl"/>
     
    <!-- get the name of the MAIN table -->
    <xsl:variable name="main" select="//structure/main/@id"/>
    <xsl:variable name="numrows" select="//pagination/page[@id='main']/@numrows"/>
     
    <xsl:template match="/"> <!-- standard match to include all child elements -->
     
      <html xml:lang="{//params/language}" lang="{//params/language}">
        <xsl:call-template name="head" />
      <body>
     
      <xsl:if test="//header">
        <xsl:value-of select="//header" disable-output-escaping="yes"/>
      </xsl:if>
     
      <form method="post" action="{$script}">
     
        <div class="universe">
     
    		<xsl:choose>
              <xsl:when test="not($mode='logon')">
    			<div class="header">
    				<div class="left"><br/><br/><br/><br/>
    					<font size="4" face="Verdana, Arial, Helvetica, sans-serif">
    						<strong><xsl:value-of select="$lib_appli"/></strong>
    					</font>
    				</div>						
    				<div class="right">
    					<img src="css/images/xxxxxx.gif" alt="Logo" />
    				</div>						
    			</div>		
    		  </xsl:when>
            </xsl:choose>
     
          <!-- create help button -->
          <xsl:call-template name="help" />
     
          <!-- create menu buttons -->
          <xsl:call-template name="menubar" />
     
          <div class="body">
     
            <h1><xsl:value-of select="$current_title"/></h1>
     
            <!-- create navigation buttons -->
            <xsl:call-template name="navbar">
              <xsl:with-param name="noshow"   select="//params/noshow"/>
              <xsl:with-param name="noselect" select="//params/noselect"/>
            </xsl:call-template>
     
            <div class="main">
     
              <!-- this is the actual data -->
              <table>
     
                <!-- set up column widths -->
                <xsl:call-template name="column_group">
                  <xsl:with-param name="table" select="'main'"/>
                </xsl:call-template>
     
                <thead>
                  <!-- set up column headings -->
                  <xsl:call-template name="column_headings">
                    <xsl:with-param name="table" select="'main'"/>
                  </xsl:call-template>
                </thead>
     
                <tbody>
                  <!-- process each non-empty row in the MAIN table of the XML file -->
                  <xsl:for-each select="//*[name()=$main][count(*)&gt;0]">
     
                    <!-- display all the fields in the current row -->
                    <xsl:call-template name="display_horizontal">
                        <xsl:with-param name="zone" select="'main'"/>
                    </xsl:call-template>
     
                  </xsl:for-each>
                </tbody>
     
              </table>
            </div>
     
            <!-- look for optional messages -->
            <xsl:call-template name="message"/>
     
            <!-- insert the page navigation links -->
            <xsl:call-template name="pagination" >
              <xsl:with-param name="object" select="'main'"/>
            </xsl:call-template>
     
            <!-- create standard action buttons -->
            <xsl:call-template name="actbar"/>
     
          </div>
     
        </div>
     
      </form>
     
      <xsl:if test="//footer">
        <xsl:value-of select="//footer" disable-output-escaping="yes"/>
      </xsl:if>
     
      </body>
      </html>
     
    </xsl:template>
     
    </xsl:stylesheet>
    Je rappel que lorsque j'associe les deux dans XMLSpy home, il ne m'affiche aucune erreur.

Discussions similaires

  1. [XSLT][OpenOffice] Problème filtre d'export XML
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/06/2011, 20h10
  2. [XSLT] Problème de transformation XML avec un fichier xslt
    Par seb35 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 24/04/2006, 22h02
  3. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 19h32
  4. [XML][XSLT] Débutant {Probléme avec For-each-group}
    Par Silvia12 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 29/01/2006, 21h38
  5. Problème avec le parser XML
    Par sheura dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/11/2005, 18h26

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