Envoyé par : inexul
Date : 27/06/2009 22:54
Bonjour, je suis débutant en xul et RDF et je viens de réaliser cet exemple http://xulfr.org/wiki/ApplisWeb/ExemplePhpRdf, mais le tree ne s'affiche pas, merci pour votre aide a résoudre cela. voici le code source des deux fichier create_rdf.php et exemple.xul
le fichier create_rdf.php est :
<?php
/* Ce script g�n�re un fichier RDF, utilisable dans un template XUL.
Vous pouvez retrouver cet exemple sur le site http://xulfr.org http://xulfr.org/wiki/ApplisWeb/ExemplePhpRdf
$cnx=mysql_connect('localhost', 'root', ''); mysql_select_db('test',$cnx); define('EOL', "\r\n");
function XML_entities($str) {
return preg_replace(array("'&'", "'\"'", "'<'", "'>'"), array('&', '"','<', '>'), $str);
}
header('Content-type: text/xml');
// avec cela, on dit que c'est toujours modifi�
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// on d�sactive le cache pour HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// on d�sactive le cache pour HTTP/1.0
header("Pragma: no-cache");
echo('<?xml version="1.0" encoding="ISO-8859-1"?>'.EOL); echo('<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'.EOL); echo(' xmlns:row="http://dummy/rdf#" xmlns:NC="http://home.netscape.com/NC-rdf#">'.EOL);
echo('<RDF:Bag about="urn:data:row">'.EOL); $result = mysql_query('SELECT * FROM sample_tbl ORDER BY name',$cnx); while ($row = mysql_fetch_assoc($result)){
echo('<RDF:li>'.EOL);
echo('<RDF:Description>');
// parseType = indication pour le type des donn�es, utile pour le trie sur la colonne
echo('<row:id NC:parseType="Integer">'.XML_entities($row['id']).'</row:id>');
echo('<row:name>'.XML_entities($row['name']).'</row:name>');
echo('</RDF:Description>'.EOL);
echo('</RDF:li>'.EOL);
} echo('</RDF:Bag>'.EOL); echo('</RDF:RDF>'.EOL); mysql_free_result($result); mysql_close($cnx); ?>
le fichier exemple.xul est :
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window
id="sample_win" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"><![CDATA[
function reloadTree(treeId)
{
var tree = document.getElementById(treeId);
var dsUrl=tree.getAttribute('datasources');
tree.setAttribute('datasources', '');
tree.setAttribute('datasources', dsUrl);
}
]]></script>
<hbox>
<description>Exemple utilisable uniquement avec Mozilla 1.7a et sup�rieur</description>
<spacer flex="1" />
<button label="Refresh" oncommand="reloadTree('tree')" />
</hbox>
<vbox flex="1">
<tree id="tree" flex="1" flags="dont-build-content" ref="urn:data:row" datasources="http://localhost/xulRdf/exemple_php_rdf/create_rdf.php">
<treecols>
<treecol id="id" label="Id" primary="true" flex="1"
class="sortDirectionIndicator" sortActive="false"
sortDirection="ascending"
sort="rdf:http://localhost/xulRdf/exemple_php_rdf#id"/>
<splitter class="tree-splitter"/>
<treecol id="name" label="Name" flex="1"
class="sortDirectionIndicator" sortActive="true"
sortDirection="ascending"
sort="rdf:http://localhost/xulRdf/exemple_php_rdf#name"/>
</treecols>
<template>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://localhost/xulRdf/exemple_php_rdf#id"/>
<treecell label="rdf:http://localhost/xulR/exemple_php_rdf#name"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</vbox>
</window>
Envoyé par : jérôme
Date : 28/06/2009 11:36
Salut,
j'ai l'impression qu'il te manque simplement un "rdf" quelque part.
Toi tu as : "rdf:http://localhost/xulRdf/exemple_php_rdf#id"
moi je verrais bien "rdf:http://localhost/xulRdf/exemple_php_rdf/rdf#id"
Envoyé par : inexul
Date : 30/06/2009 13:50
Salut,
merci pour la réponse, mais c'est pas a cause de cela que les données du fichiers rdf ne s'affiche pas, j'ai remet "rdf:http://localhost/xulRdf/exemple_php_rdf/rdf#id" et ya rien qui s'affiche au niveau du tree.
N.B: au niveau du browser avec : http://localhost/xulRdf/exemple_php_rdf, le fichier RDF s'affiche normalement.
Merci.
Envoyé par : thefab
Date : 30/06/2009 23:16
Dans tes éléments treecell c'est 'rdf:http://dummy/rdf#' qu'il faut utiliser (l'espace de nom de row)
<treecell label="rdf:http://dummy/rdf#id"/>
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.