Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# La représentation RDF sous cette forme ?

Envoyé par : Utilisateur anonyme

Date : 26/07/2004 16:36

Le JS :

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var RDF =

   Components
   .classes["@mozilla.org/rdf/rdf-service;1"]
   .getService(Components.interfaces.nsIRDFService);

var DS =

   Components
   .classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"]
   .createInstance(Components.interfaces.nsIRDFDataSource);

function init(){

       
   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
   // Create three resources (urn:1, urn:2, and urn:3) that are
   // children of urn:root
   for (line = 1; line <= 3; line++) {
       DS.Assert(RDF.GetResource("urn:root"),
                 RDF.GetResource("http://www.munch-sa.fr/NC-rdf#child"),
                 RDF.GetResource("urn:" + line),
                 true);
       DS.Assert(RDF.GetResource("urn:" + line),
                 RDF.GetResource("http://www.munch-sa.fr/NC-rdf#name"),
                 RDF.GetLiteral("Number " + line),
                 true);
       DS.Assert(RDF.GetResource("urn:" + line),
                 RDF.GetResource("http://www.munch-sa.fr/NC-rdf#debut"),
                 RDF.GetLiteral("Debut " + line),
                 true);
       DS.Assert(RDF.GetResource("urn:" + line),
                 RDF.GetResource("http://www.munch-sa.fr/NC-rdf#fin"),
                 RDF.GetLiteral("Fin " + line),
                 true);
       DS.Assert(RDF.GetResource("urn:" + line),
                 RDF.GetResource("http://www.munch-sa.fr/NC-rdf#id"),
                 RDF.GetLiteral("Id " + line),
                 true);
   }
   // Add the datasource to the tree
   var tree = document.getElementById("tree");
   tree.database.AddDataSource(DS);
   tree.setAttribute("ref", "urn:root");

} /* STRING GET_RESOURCE()

   
   Retrourne la resource associée au noeud sélectionné dans l'arbre.
  • /

function get_resource() {

   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
   var tree = document.getElementById('tree');
   var tbv = tree.builderView;
   var index = tree.currentIndex;
   var res = tbv.getResourceAtIndex(index);
   return (res.Value);

}

mais dans un fichier RDF avec balises ça donne quoi pour coller à ces règles ?

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- Mode: HTML -*- --> <!--

 Utilisation du service RDF service en Javascript. 
 Créé une source de données 'in-memory', et l'initialise
 suivant le graph ci-dessous:
 [urn:root]==[http://www.munch-sa.fr/NC-rdf#child]==>[urn:1]
     |                                                     |
     |   "Number 1"<==[http://www.munch-sa.fr/NC-rdf#name]-+
     |   "Debut 1"<==[http://www.munch-sa.fr/NC-rdf#debut]-+ 
     |     "Fin 1"<==[http://www.munch-sa.fr/NC-rdf#debut]-+
     |         "Id 1"<==[http://www.munch-sa.fr/NC-rdf#id]-+
     |
     |
     +=======[http://www.munch-sa.fr/NC-rdf#child]==>[urn:2]
     |                                                     |
     |   "Number 2"<==[http://www.munch-sa.fr/NC-rdf#name]-+
     |   "Debut 2"<==[http://www.munch-sa.fr/NC-rdf#debut]-+
     |     "Fin 2"<==[http://www.munch-sa.fr/NC-rdf#debut]-+
     |         "Id 2"<==[http://www.munch-sa.fr/NC-rdf#id]-+
     |
     |
     +=======[http://www.munch-sa.fr/NC-rdf#child]==>[urn:3]
                                                           |
         "Number 3"<==[http://www.munch-sa.fr/NC-rdf#name]-+
         "Debut 3"<==[http://www.munch-sa.fr/NC-rdf#debut]-+
           "Fin 3"<==[http://www.munch-sa.fr/NC-rdf#debut]-+
               "Id 3"<==[http://www.munch-sa.fr/NC-rdf#id]-+
 Cette source de données est utlisée pour remplir un arbre construit
 sur un modèle.
 La source de données et l'arbre sont liées, une modificationde la source
 de données modifie automatiquement l'arbre.
 Pour afficher les données, il faut accorder les privilèges à 
 tous les niveaux.
  • >

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

<window width="400" height="300"

 onload=""
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<script type="application /x-javascript" src="./constante-in-memory.js"/> <script type="application /x-javascript" src="./in-memory.js"/>

 <vbox flex="1">
   <popupset>
       <popup id="tree_popup_menu">
           <menuitem label="Propriétés phase"          oncommand="proprietes();"/>
           <menuitem label="Nouvelle phase (père)"     oncommand="ajout_pere();"/>
           <menuitem label="Ajouter sous-phase (fils)" oncommand="ajout_fils();"/>
           <menuitem label="Supprimer phase"           oncommand="suppr_phase();"/>
           <menuseparator/>
           <menuitem label="-> Indenter"         oncommand="indenter();"/>
           <menuitem label="Annuler indentation" oncommand="annule_indent();"/>
           <menuitem label="+ Monter"            oncommand="monter();"/>
           <menuitem label="- Descendre"         oncommand="descendre();"/>
           <menuseparator/>
           <menuitem label="Couper" oncommand="couper();"/>
           <menuitem label="Copier" oncommand="copier();"/>
           <menuitem label="Coller" oncommand="coller();"/>
       </popup>
   </popupset>
   <tree flex="1" id="tree" datasources="vide.rdf"
		  ref="urn:root"
             containment="http://www.munch-sa.fr/NC-rdf#child"
             flags="dont-build-content"
             context="tree_popup_menu">
     <template>
       <rule>
    
         <conditions>
           <treeitem uri="?uri"/>
           <member container="?uri" child="?subheading" />
         </conditions>
         <bindings>
           <binding subject="?subheading"
                    predicate="http://www.munch-sa.fr/NC-rdf#name"
                    object="?name" />
           <binding subject="?subheading"
                    predicate="http://www.munch-sa.fr/NC-rdf#debut"
                    object="?debut" />
           <binding subject="?subheading"
                    predicate="http://www.munch-sa.fr/NC-rdf#fin"
                    object="?fin" />
           <binding subject="?subheading"
                    predicate="http://www.munch-sa.fr/NC-rdf#id"
                    object="?id" />
         </bindings>
         <action>
           <treechildren editable="true">
             <treeitem uri="?subheading">
               <treerow editable="true">
                 <treecell label="?name"/>
                 <treecell label="?debut"/>
                 <treecell label="?fin"/>
                 <treecell label="?id"/>
               </treerow>
             </treeitem>
           </treechildren>
         </action>
       </rule>
     </template>
     <treecols editable="true">
       <treecol id="Nom" flex="1" label="Nom" sort="?name"
                    primary="true"/>
       <treecol id="Debut" flex="1" label="Debut" sort="?debut"/>
       <treecol id="Fin" flex="1" label="Fin" sort="?fin"/>
       <treecol id="Id" flex="1" label="Id" sort="?id" collapsed="true"/>
     </treecols>
   </tree>
 </vbox>
 <button oncommand="peuplerListe();"/>

</window>

J'ai essayé plusieurs représentations sans succès.

Une représentation de ce type m'aiderait à comprendre

<?xml version="1.0" encoding="ISO-8859-1"?> <RDF:RDF xmlns:NS1="http://www.zoo.com/animaux/"

 xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:NC="http://home.netscape.com/NC-rdf#">

<RDF:Description

about="http://www.zoo.com/animaux/lions"
NS1:nom="Lion"
NS1:espece="Mammifere"
NS1:categorie="Félins">

</RDF:Description>

<RDF:Description

about="http://www.zoo.com/animaux/chat"
NS1:nom="Chat"
NS1:espece="Mammifere"
NS1:categorie="Félins">

</RDF:Description>

<RDF:Description

about="http://www.zoo.com/animaux/vache"
NS1:nom="Vache"
NS1:espece="Mammifere"
NS1:categorie="Bovins">

</RDF:Description>

<RDF:Seq about="http://www.zoo.com/animaux">

<RDF:li resource="http://www.zoo.com/animaux/lions"/>
<RDF:li resource="http://www.zoo.com/animaux/chat"/>
<RDF:li resource="http://www.zoo.com/animaux/vache"/>

</RDF:Seq>

</RDF:RDF>

J'aurai passer la journee à y reflechir mais on m'a envoyé en maintenance :( Si quelqu'un a une idée ça m'aiderait bcp merci.

# Re: La représentation RDF sous cette forme ?

Envoyé par : laurentj

Date : 26/07/2004 18:23

Ce serait vraiment, vraiment, vraiment cool si

  1. la syntaxe wiki était respectée pour que l'affichage soit propre
  2. ne pas faire un dump de 15000 lignes de code.

trop long à lire... désolé.

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.