Envoyé par : chris
Date : 09/04/2007 21:00
Bonjour,
Malgré mes multiples lectures, je ne parviens pas à réaliser quelque chose de fort simple (à priori). Manifestement, le RDF et moi, ça fait 2.
Soit un RDF distant, dont je ne suis pas maître, du genre :
<?xml version="1.0" encoding="ISO-8859-1"?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ARTICLE="http://url/facturation/rechArticles/rdf#"> <RDF:Seq RDF:about="http://url/facturation/rechArticles"> <RDF:li> <RDF:Description> <ARTICLE:Article_Id>INFPRCARTTDM11B</ARTICLE:Article_Id> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description> <ARTICLE:Article_Id>INFPRHEADSET1</ARTICLE:Article_Id> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description> <ARTICLE:Article_Id>INFPRMODADSLETH</ARTICLE:Article_Id> </RDF:Description> </RDF:li> </RDF:Seq> </RDF:RDF>
Comment faire concrètement, en JS, pour récupérer tous les "Article_Id" ?
Si je passe cette étape, cela devrait m'aider à commencer à comprendre les différentes docs. En effet, autant je parviens à me débrouiller avec les templates xul, autant là, je m'y perds complètement.
Je vous remercie d'avance.
Envoyé par : chris
Date : 10/04/2007 00:42
Bon, je me suis débrouillé avec un :
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var datasource = rdfService.GetDataSourceBlocking(urlRdf); var sourceArticles = rdfService.GetResource("http://url/facturation/rechArticles"); var targets = datasource.ArcLabelsOut(sourceArticles); while (targets.hasMoreElements()){ var predicate = targets.getNext(); if (predicate instanceof Components.interfaces.nsIRDFResource) { var target = datasource.GetTarget(sourceArticles, predicate, true); if (target instanceof Components.interfaces.nsIRDFResource) { var name = rdfService.GetResource("http://url/facturation/rechArticles/rdf#Article_Id"); var resp = datasource.GetTarget(target, name, true); if (resp instanceof Components.interfaces.nsIRDFLiteral){ gArticles.push(resp.Value); } } } }
Je ne sais pas s'il y a mieux, mais ça fonctionne.
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.