Envoyé par : ligoz
Date : 06/09/2007 13:21
Bonjour,
Mon appli XUL nécessite un moment de transformer un doc XHTML vers un autre par une XSLT. Dans cette XSLT j'utilise la fonction document() pour y importer un doc XML, exemple (où 'monxml.xml' est dans le répertoire 'content'):
<xsl:variable name="monxml" select="document('monxml.xml')"/>
La console retourne une 'erreur de sécurité', le doc n'est pas importé. Même erreur en employant une url chrome. Il n'y a plus d'erreur avec un chemin absolu, admettons. Le probème est que rien est importé ! alors que (en PHP par exemple) ça marche et que cette fonction document() est documentée
Quelqu'un a t'il eu ce problème ?
Envoyé par : Cerber
Date : 31/10/2007 09:44
Bonjour
J'ai le même problème avec une extention Firefox, dans mon cas, ni les URLs relatives ni les URL chrome:// ne fonctionnent, MAIS les URLs absolues marchent... document('file:/C:/test.xml')
Je suis en train de lire les autres topics du forum et je pense que le topic suivant tombe dans le même problème. http://xulfr.org/forums/read.php?1,9103
Envoyé par : Cerber
Date : 31/10/2007 10:21
Si tu as besoin d'un élément disponnible via chrome j'ai trouvé une solution en m'inspirant du post suivant : http://xulfr.org/forums/read.php?1,869,8(..)
Dans mon xsl :
<xsl:param name="extra-file" /> <xsl:variable name="extra-xml" select="document($extra-file)"/>
Dans mon JS :
var processor = new XSLTProcessor();
processor.importStylesheet(myStyleSheet);
//TODO vérifier la compatibilité JAR de chrome2uri
processor.setParameter(null,'extra-file','file:'+chrome2uri('chrome://monappli/content/Db.xml'));
et le code de "chrome2uri" (version pré-alpha ==> a tester :) ) :
function chrome2uri(chromeUrl) {
try{
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var ch_ec = ios.newURI(chromeUrl, null, null);
var chs = Components.classes["@mozilla.org/chrome/chrome-registry;1"].
getService(Components.interfaces.nsIChromeRegistry)
var uri = chs.convertChromeURL(ch_ec).path;
return uri;
}catch(e){
alert(e);
return null;
}
} 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.