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 :

XML > XLST > PHP / Warning: Sablotron error on line 117: XML parser error 3


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut XML > XLST > PHP / Warning: Sablotron error on line 117: XML parser error 3
    Bonjour

    j'ai un petit soucis ...

    je m'explique:

    je reçois un flux XML que j'affiche dans ma page php

    souvent ça marche mais des fois j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Sablotron error on line 117: XML parser error 3: no element found in /home.2/sudguide/www/rencontre/index.php on line 47
    l'URL en question est:ici

    je met aussi le code

    Exemple de 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
    <?xml version="1.0" encoding="UTF-8" ?> 
    - <profil>
    - <item>
      <id>2122494</id> 
      <login>lasciamifare</login> 
      <sexe>Un homme</sexe> 
      <age>53</age> 
      <yeux>Marron</yeux> 
      <cheveux>Chauve</cheveux> 
      <pays>Italia</pays> 
      <region>Lazio</region> 
      <departement /> 
      <nom_departement>Roma</nom_departement> 
      <ville>Roma</ville> 
      <description>Sono qui per conoscere persone simpatiche e trasgressive: vorrei conoscere una donna decisa e determinata con cui condividere piacevoli momenti senza crearci troppe paranoie per il futuro... Sono serio ma non serioso, molto discreto ed affidabile...e so esser molto dolce e passionale</description> 
      <webcam>yes</webcam> 
      <photo>/pixs0/l/a/lasciamifare.jpg</photo> 
      </item>
    - </profil>
    Mon code 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
    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
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE xsl:stylesheet  [
    	<!ENTITY nbsp   "*">
    	<!ENTITY copy   "©">
    	<!ENTITY reg    "®">
    	<!ENTITY trade  "™">
    	<!ENTITY mdash  "—">
    	<!ENTITY ldquo  "“">
    	<!ENTITY rdquo  "”"> 
    	<!ENTITY pound  "£">
    	<!ENTITY yen    "¥">
    	<!ENTITY euro   "€">
    ]>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    <xsl:template match="/">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <title>test xml</title>
    <link href="/sudguide.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
     
    <div align="center"><br/>
        <xsl:for-each select="profil/item"> 
          <table bgcolor='#F4CBDF' cellspacing='0' width='600' style='border:1px solid #993366;border-collapse:collapse;'>
            <tr>
              <td width="70" align="center" valign="middle"><span class="bloc"><a href="http://sud-guide.love.easyrencontre.com/u_page.php?id={id}" target="_blank"><img src="http://sud-guide.love.easyrencontre.com/{photo}" alt="{login}" style='border:1px solid #993366;' /></a></span></td>
              <td width="524" colspan="2" valign="top" class="Vert11BLEU" align="left"><p><b><xsl:value-of select="login"/></b>&nbsp; 
                    <xsl:if test='sexe="Un homme"'>
                      <img src="/images/masc.gif" alt="Un homme" />&nbsp;
                        </xsl:if>
                    <xsl:if test='sexe="Une femme"'>
                      <img src="/images/femi.gif" alt="Une femme" />&nbsp;
                        </xsl:if>
                    <span class="Vert10BLEU"><xsl:value-of select="age"/>&nbsp;ans</span></p>
                  <p align="justify" style="margin-right:5px"><xsl:value-of select="description"/></p>
                <p>[<u>Localisation</u> : <span class="Vert10BLEU"><xsl:value-of select="pays"/></span> &gt; <span class="Vert10BLEU"><xsl:value-of select="region"/></span> &gt; <span class="Vert10BLEU"><xsl:value-of select="nom_departement"/></span>&nbsp;<span class="Vert10BLEU"><xsl:value-of select="departement"/></span> &gt; <xsl:value-of select="ville"/>]</p></td>
            </tr>
          </table>
          <br />
        </xsl:for-each> 
     
     
    </div>
    </body>
    </html>
     
    </xsl:template>
     
     
    </xsl:stylesheet>
    Et pour finir le PHP


    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
    <?php
    $xh = xslt_create();
     
    $file=fopen("http://sud-guide.love.easyrencontre.com/flux/XML.php?age_min=15&ville=$ville","r");
    $xml=fread($file,16384);
    fclose($file);
     
    $file=fopen("lecture.xsl","r");
    $xsl=fread($file,16384);
    fclose($file);
     
    $arguments = array(
      '/_xml' => $xml,
      '/_xsl' => $xsl
      );
     
    $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
     
    xslt_free($xh);
     
    print "$result";
    ?>
    L'erreur se situe a la ligne 47 de ma page PHP soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
    Si quelqu'un sait ..... merci d'avance
    Quand une réponse vous aide
    Et quand ça marche

  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,

    le message du parseur est assez clair, il signale qu'il n'y a pas d'éléments, en d'autres termes que ton XML est vide (variable $ville erronée ?). Tu devrais afficher le XML dans ton navigateur pour vérifier cela...
    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

Discussions similaires

  1. [EasyPHP] Warning: Sablotron error on line 41: wrong expression syntax
    Par moonia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 27/03/2006, 14h00
  2. [XML] XML Data Binding vers php
    Par noa dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/03/2006, 16h31
  3. [FLASH MX2004] Envoyer un xml a un script php
    Par bibile dans le forum Flash
    Réponses: 22
    Dernier message: 21/11/2005, 20h35
  4. [XML-XSLT-PHP] Récupération de l'heure courante dans xml
    Par mamat- dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 05/08/2005, 16h02
  5. Transformation xml + xsl -> HTML via PHP
    Par petit-ourson dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/10/2003, 22h42

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