Envoyé par : ferllings
Date : 24/10/2006 19:47
Bonjour a tous,
Ca fait plusieurs jours que je tourne ce problème dans tous les sens: Je n'arrive pas à lire un fichier RDF. J'ai simplifé le code au maximum, mais ca ne donne toujours rien.
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var datasource = rdfService.GetDataSourceBlocking("file://c:/tmp.rdf"); var subject = rdfService.GetResource("http://www.monsite.com/all"); var predicate = rdfService.GetResource("http://www.monsite.com/rdf#name"); var target = datasource.GetTarget(subject, predicate, true); alert(target.Value);
Mon fichier RDF
<?xml version="1.0" encoding="iso-8859-1"?> <RDF:rdf xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:MY="http://www.monsite.com/rdf#"> <RDF:Description RDF:about="http://www.monsite.com/all" MY:name="Ferllings" /> </RDF:rdf>
J'obtiens juste une erreur "target has no properties"
Je suis vraiment a court d'idée, si qqu pouvais m'aider.
Merci,
Precisions : Je developpe avec xulrunner 1.8
Envoyé par : thefab
Date : 24/10/2006 20:37
Si tu passes ton RDF au validateur tu verras qu'il n'est pas valide. Bon d'accord le message n'est pas trés clair:
Error: Your document does not contain any RDF statement.
Ton document est vide car ce n'est pas <RDF:rdf> mais <RDF:RDF>, XML (donc RDF) étant sensible à la casse.
Envoyé par : thefab
Date : 24/10/2006 20:53
Mais ce n'est pas tout: GetTarget retourne un nsIRDFNode qui ne possède pas la propriété Value, il faut d'abord le caster en nsIRDFLiteral:
var target = datasource.GetTarget(subject, predicate, true); target.QueryInterface(Components.interfaces.nsIRDFLiteral); alert(target.Value);
Envoyé par : ferllings
Date : 26/10/2006 13:26
Merci,
Aucun changement même après modifications.
Par contre j'ai repris un example de cette page: http://xulfr.org/forums/read.php?1,6520(..)
et là ca 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.