Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# [Résolu] Affichage vide avec template et RDF

Envoyé par : Mushu

Date : 09/07/2009 02:15

Bonjour,

Je tourne en rond tel un lion en cage en me cassant le museau sur ma cage de RDF ... En effet, j'ai potassé plusieurs tutoriaux et testé plusieurs exemples et rien en s'affiche.

Source RDF :

<?xml version="1.0" encoding="iso-8859-1" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:LISTE="http://www.entreprise.fr/rdf#">
  <rdf:Seq rdf:about="http://www.entreprise.fr/liste">
    <rdf:li>
      <rdf:Description rdf:about="http://www.entreprise.fr/liste/2" LISTE:profil="user">
        <LISTE:nom>Toto</LISTE:nom>
        <LISTE:stat>9</LISTE:stat>
      </rdf:Description>
    </rdf:li>
  </rdf:Seq>
</rdf:RDF>  

Source XUL :

<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet href="chrome://global/skin/" type"text/css" ?>
<?xml-stylesheet type="text/css" href="chrome://global/skin/styles.css"?>

<page id="sbStat" title="Stat"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    xmlns:html="http://www.w3.org/1999/xhtml" >
    
  <vbox datasources="chrome://stat/content/js/liste.php" ref="http://www.entreprise.fr/liste" flex="1">
    <groupbox>
      <template>
        <hbox>
          <label uri="rdf:*" value="http://www.entreprise.fr/rdf#nom" />
          <label uri="rdf:*" value="http://www.entreprise.fr/rdf#stat" />
        </hbox>
      </template>
    </groupbox>
  </vbox>
</page>

J'ai beau retourner le problème dans tous les sens ... je ne vois pas. Si vous trouvez mon (mes) erreur(s), je suis tout ouïe.

Juste une dernière précision, je suis sur Xulrunner 1.9.0.11 et la console ne me retourne aucune erreur.

Merci du temps que vous passerez éventuellement à m'aider ^^

Mushu

# Re: Affichage vide avec template et RDF

Envoyé par : thefab

Date : 09/07/2009 08:47

Heu à voir comme ça je dirais que XUL n'interprète pas le PHP ! Tu as mis dans vbox datasources un fichier PHP qui vient du chrome, c'est ou il s'agit d'un fichier RDF dans chrome, d'un fichier PHP distant ou d'une faute de frappe ;-)

# Re: Affichage vide avec template et RDF

Envoyé par : Mushu

Date : 09/07/2009 09:02

Pour l'instant c'est un fichier PHP distant qui génère du RDF ... Je vais tester cce que tu me dis

Merci ^^

Edit : Bon, effectivement il faut appeler un fichier RDF et non un fichier PHP qui génère du RDF.

Maintenant va falloir que je trouve comment générer ce fichier RDF sachant qu'il doit être mis à jour au minimum toutes les 5 secondes.

# Re: Affichage vide avec template et RDF

Envoyé par : thefab

Date : 09/07/2009 09:24

Bon, effectivement il faut appeler un fichier RDF et non un fichier PHP qui génère du RDF.

Mais bien sur que PHP peut générer du RDF, mais pas depuis le chrome! Il faut qu'il soit sur ton serveur.

# Re: Affichage vide avec template et RDF

Envoyé par : Mushu

Date : 09/07/2009 11:10

Bon, je reste bloqué sur la génération de mon fichier PHP, j'obtiens l'erreur :

Erreur d'analyse XML : aucun élément trouvé
Emplacement : http://127.0.0.1/Stat/chrome/content/stat/js/liste.php
Numéro de ligne 1, Colonne 1 :
<?php
  define('EOL', "\r\n");

  function XML_entities($str)
  {
    return preg_replace(array("'&'", "'\"'", "'<'"), array('&#38;', '&#34;','&lt;'), $str);
  }

 // Initialisation de la base de données
 include 'config.php' ;

 // execution de la requète SQL
 $sql = "SELECT 
           u.id_user as id_user, 
           sb.stat as stat,
           sb.heure_fin as heure_fin,
           sb.alerte as alerte,
           sl.etat as etat,
           CONCAT(u.nom, ' ', u.prenom) as nom,
           u.profil as profil
         FROM statbar as sb
         LEFT JOIN statlist as sl ON
           sl.id = sb.stat
         LEFT JOIN utilisateurs as u ON
           u.id_user = sb.id_user
         WHERE 
           u.profil = 'user'            
         ;";
          
 header("Content-Type: text/xml") ;
  
 $openfichier = fopen("listspe.rdf","w+");
 
 //Entête du fichier XML
 fwrite($openfichier,'<?xml version="1.0" encoding="ISO-8859-1"?' . EOL);
 fwrite($openfichier,'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:LISTE="http://www.entreprise.fr/rdf#">' . EOL);
 fwrite($openfichier,'  <rdf:Seq rdf:about="http://www.entreprise.fr/liste">' . EOL);
 if (mysql_num_rows($req=mysql_query($sql))) {
   while ($ent= mysql_fetch_array($req)) {
     fwrite($openfichier,'    <rdf:li>' . EOL);
     fwrite($openfichier,'      <rdf:Description rdf:about="http://www.entreprise.fr/liste/' . $ent['id_user'] . '" LISTE:profil="' . $ent['profil'] . '">' . EOL);
     fwrite($openfichier,'        <LISTE:nom>' . XML_entities($ent['nom']) . '</LISTE:nom>' . EOL);
     fwrite($openfichier,'        <LISTE:stat>' . XML_entities($ent['stat']) . '</LISTE:stat>' . EOL);
     fwrite($openfichier,'      </rdf:Description>' . EOL);
     fwrite($openfichier,'    </rdf:li>' . EOL);
   }
 }
 fwrite($openfichier,'  </rdf:Seq>');
 fwrite($openfichier,'</rdf:RDF>');
 
 //On ferme le fichier
 fclose($openfichier);

?>

# Re: Affichage vide avec template et RDF

Envoyé par : thefab

Date : 09/07/2009 11:17

Mais pourquoi tu écris dans un fichier ? Il suffit d'envoyer le résultat directement vers le navigateur:

<?php
header("Content-Type: text/xml");
echo "<?xml ..."
echo "<RDF...";
...
?>

Dans ta fonction XML_entities() il manque ">", de plus tu est sur que

"'&'"

c'est pas plutôt

"&"

???

# Re: Affichage vide avec template et RDF

Envoyé par : Mushu

Date : 09/07/2009 11:41

thefab écrivait:

Mais pourquoi tu écris dans un fichier ? Il suffit
d'envoyer le résultat directement vers le
navigateur:

<?php
header("Content-Type: text/xml");
echo "<?xml ..."
echo "

Si je renvoi l'info au navigateur, quoi marquer dans le datasource pour qu'il retrouve le contenu ?

thefab écrivait:

Dans ta fonction XML_entities() il manque ">", de
plus tu est sur que

"'&'"

c'est pas plutôt

"&"

???

Là j'ai simplement fait confiance à une fiche du wiki pour ça.

# Re: Affichage vide avec template et RDF

Envoyé par : thefab

Date : 09/07/2009 11:45

<vbox datasources="http://localhost/liste.php" ...

# Re: Affichage vide avec template et RDF

Envoyé par : Mushu

Date : 09/07/2009 12:21

ça marche paaaaas !!!

Je viens seulement de comprendre qu'il fallait juste mettre l'URL du fichier php mais hors du chrome ... toutefois, ça ne fonctionne toujours pas. Ca fonctionne si je mets l'URL d'un fichier RDF de test, mais dès que je pointe sur le fichier PHP qui génère la même chose que le RDF ... ça ne fonctionne pas, le contenu n'est pas chargé. A coté de cela, mon fichier PHP fonctionne bien.

Modif apportée :

 <vbox 
   datasources="http://127.0.0.1/stat/liste.php" 
   ref="http://www.mushu.fr/liste">

# Re: Affichage vide avec template et RDF

Envoyé par : thefab

Date : 09/07/2009 12:29

mais dès que je pointe sur le fichier PHP qui génère la même chose que le RDF ... ça ne fonctionne pas

Absolument sur de ça ? Essaye d'afficher ton PHP dans Firefox, d'enregistrer le fichier et de spécifier ce fichier comme source. Si ça ne fonctionne toujours pas ton PHP doit générer quelque chose de différent.

Aller à la page :  1 2

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.