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
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 ;-)
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.
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.
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('&', '"','<'), $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); ?>
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
"&"
???
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.
Envoyé par : thefab
Date : 09/07/2009 11:45
<vbox datasources="http://localhost/liste.php" ...
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">
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.
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.