Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# Template et fichier RDF simple, mais rien ne s'affiche

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.

# Re: Template et fichier RDF simple, mais rien ne s'affiche

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 :'(

# Re: Template et fichier RDF simple, mais rien ne s'affiche

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>

# Re: Template et fichier RDF simple, mais rien ne s'affiche

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 ?

# Re: Template et fichier RDF simple, mais rien ne s'affiche

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 +).

# Re: Template et fichier RDF simple, mais rien ne s'affiche

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.