Envoyé par : Myrdhin
Date : 24/05/2006 13:17
Bonjour,
Je viens tout juste de débuter dans le monde XUL et déjà de nombreux problèmes surviennent :'(
J'ai actuellement un fichier test.rdf très simple dont voici le contenu :
<?xml version="1.0" ?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:U="http://www.u.org/rdf#" > <RDF:Description RDF:about="http://www.u.org/categories"> <U:label>Categories</U:label> </RDF:Description> </RDF:RDF>
Et j'ai tenté vainement de créer un template "test.xul" :
<?xml version="1.0" ?> <?xml-stylesheet href="chrome://global/skin" type="text/css" ?> <window id="main" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <vbox id="" datasources="test.rdf" ref="http://www.u.org/categories" > <label id="test" value="test" /> <template> <rule> <conditions> <content uri="?uri" /> <triple subject="?uri" predicate="http://www.uiadmin.org/rdf#label" object="?name" /> </conditions> <action> <hbox> <label uri="?uri" value="?name" /> </hbox> </action> </rule> </template> </vbox> </window>
Malheureusment seul le label "test" du début s'affiche... Je ne parvient pas à "exécuter" le bloc <action>. J'ai certainement raté quelque chose...
Pourriez-vous m'aider ?
Merci d'avance pour toute l'aide que vous pourrez m'apporter.
Envoyé par : Myrdhin
Date : 24/05/2006 13:48
oups, il y avait une erreur dans mon fichier test.xul :
predicate="http://www.uiadmin.org/rdf#label"
qu'il faut remplacer par :
predicate="http://www.u.org/rdf#label"
Mais ça ne marche toujours pas :'(
Envoyé par : ndelafor
Date : 24/05/2006 14:44
Essaye avec un conteneur dans ton rdf :
<?xml version="1.0" ?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:U="http://www.u.org/rdf#" > <RDF:Description RDF:about="http://www.u.org/categories"> <U:label>Categories</U:label> </RDF:Description> <RDF:Seq RDF:about="http://www.u.org/rdf#mes_categories"> <RDF:li RDF:resource="http://www.u.org/categories"/> </RDF:Seq> </RDF:RDF>
et une balise member dans ton template
<vbox id="" datasources="test.rdf" ref="http://www.u.org/rdf#mes_categories" > <template> <rule> <conditions> <content uri="?uri" /> <member container="?uri" child="?item"/> <triple subject="?item" predicate="http://www.uiadmin.org/rdf#label" object="?name" /> </conditions> <action> <hbox> <label uri="?item" value="?name" /> </hbox> </action> </rule> </template> </vbox>
Envoyé par : Myrdhin
Date : 24/05/2006 15:03
(mince, j'ai répondu et ma réponse n'apparaît pas... même en effaçant le cache de firefox... Bon ben je recommence. ésolé si cela apparaît en double :D)
Merci pour cette idée, mais malheureusement cela ne fonctionne pas... Pour quelle raison faudrait-il ajouter un conteneur ?
Dites-moi si j'ai faux : Mon fichier d'origine correspond au triple suivant :
subject predicate object http://www.u.org/categories http://www.u.org/rdf#label Categories
et donc au graphe suivant
http://www.u.org/rdf#label http://www.u.org/categories -----------------------------> Categories
non ?
Envoyé par : thefab
Date : 24/05/2006 15:30
Oui c'est juste il correspond bien au graphe que tu décris, si tu n'es pas sûr tu peux vérifier avec le validateur RDF du W3C.
Par contre Mozilla ne peut pas utiliser RDF pour générer 1 seul élément, il est prévu pour fonctionner avec des blocs répétitifs, d'ou la proposition de ndelafor d'ajouter un conteneur. Par contre les blocs générés peuvent contenir qu'1 seul résultat (ou zéro ou +).
Envoyé par : Myrdhin
Date : 24/05/2006 15:48
Merci beaucoup, j'ai réussi à faire fonctionner la chose :) Voici ce que ça donne :
le fichier test.rdf :
<?xml version="1.0" ?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:UIA="http://www.u.org/rdf#" > <RDF:Description RDF:about="http://www.u.org/categories/0"> <UIA:label>Categorie 0</UIA:label> </RDF:Description> <RDF:Description RDF:about="http://www.u.org/categories/1"> <UIA:label>Categorie 1</UIA:label> </RDF:Description> <RDF:Seq RDF:about="http://www.u.org/categories"> <RDF:li RDF:resource="http://www.u.org/categories/0"/> <RDF:li RDF:resource="http://www.u.org/categories/1"/> </RDF:Seq> </RDF:RDF>
et le fichier test.xul :
<?xml version="1.0" ?> <?xml-stylesheet href="chrome://global/skin" type="text/css" ?> <window id="main" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <vbox id="dd" datasources="test.rdf" ref="http://www.u.org/categories" > <label id="test" value="test" /> <template> <rule> <conditions> <content uri="?start" /> <member container="?start" child="?item" /> <triple subject="?item" predicate="http://www.u.org/rdf#label" object="?label" /> </conditions> <action> <label uri="?item" value="?label" /> </action> </rule> </template> </vbox> </window>
Encore merci pour votre aide !
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.