Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# Onglets et rdf

Envoyé par : wajsberg

Date : 10/07/2006 11:33

Bonjour,

J'essaie d'afficher des onglets construits depuis un template RDF; à l'intérieur de chaque onglet se trouve une listbox et une zone de texte.

On peut voir ça comme un onglet étant un conteneur, et la liste étant une liste de fichiers contenus dans le conteneur.

J'ai réussi en utilisant deux rules, mais quelque chose ne fonctionne pas encore correctement.

En effet, lorsque je charge le fichier XUL dans Mozilla (comme une page web), les onglets sont tous en "arrière plan" et ne peuvent pas être activés; cependant, si je recharge la page, tout semble correct.

Par ailleurs, si je charge l'application avec xulrunner, j'ai le même comportement... sauf que je ne peux pas la recharger.

J'ai essayé plusieurs choses déjà: une URL chrome au lieu d'une URL relative; charger la datasource par javascript avec un onload, comme on me l'a conseillé aux dernières RMLL. Mais rien n'y fait, j'ai toujours le même comportement. Avez-vous une idée ?

Voici le fichier XUL :

<?xml version="1.0" encoding="ISO-8859-1" ?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="example-window" title="Store"
	xmlns:html="http://www.w3.org/1999/xhtml"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
	width="640" height="480">

  <template id='dirtemplate'>
    <rule rdf:type="http://euralba/rdf/Directory">
      <tabbox flex='1'>
	<tabs>
	  <tab uri='rdf:*' label='rdf:http://euralba/rdf/name'/>
	</tabs>
	<tabpanels flex="1">
	  <tabpanel uri='rdf:*' flex="1"/>
	</tabpanels>
      </tabbox>
    </rule>
    <rule parent="tabpanel">
    <hbox flex="1">
      <listbox flex="1" onselect="nextSibling.firstChild.value = this.selectedItem.value">
	      <listitem uri="rdf:*" label="rdf:http://euralba/rdf/name" value="rdf:http://euralba/rdf/data"/>
      </listbox>
      <box flex="5">
	<label/>
      </box>
    </hbox>
    </rule>
  </template>

  <box datasources="files.rdf" ref="http://euralba/directories" template='dirtemplate' flex='1' id='mybox' />
</window>

et une partie du RDF :

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:e="http://euralba/rdf/">

  <e:Directory RDF:about="http://euralba/files/directory1">
    <e:name>directory1</e:name>
  </e:Directory>
  <e:Directory RDF:about="http://euralba/files/directory2">
    <e:name>directory2</e:name>
  </e:Directory>
   <e:File RDF:about="http://euralba/files/file1">
    <e:name>file1</e:name>
    <e:data>Fichier 1</e:data>
  </e:File>
  <e:File RDF:about="http://euralba/files/file2">
     <e:name>file2</e:name>
     <e:data>Fichier 2</e:data>
  </e:File>
  <e:File RDF:about="http://euralba/files/file5">
     <e:name>file5</e:name>
     <e:data>Fichier 5</e:data>
  </e:File>
  <e:File RDF:about="http://euralba/files/file6">
    <e:name>file6</e:name>
    <e:data>Fichier 6</e:data>
  </e:File>
   <RDF:Seq RDF:about="http://euralba/directories">
    <RDF:li>
      <RDF:Seq RDF:about="http://euralba/files/directory1">
	<RDF:li resource='http://euralba/files/file1'/>
	<RDF:li resource='http://euralba/files/file2'/>
      </RDF:Seq>
    </RDF:li>

    <RDF:li>
      <RDF:Seq RDF:about="http://euralba/files/directory2">
	<RDF:li resource='http://euralba/files/file4'/>
	<RDF:li resource='http://euralba/files/file5'/>
      </RDF:Seq>
    </RDF:li>
  </RDF:Seq>
</RDF:RDF>

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.