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.
Envoyé par : laurentj
Date : 26/07/2004 18:23
Ce serait vraiment, vraiment, vraiment cool si
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.