Je me suis déjà un peu initié à la POO avec des langages plus évolués mais là j'ai un peu de mal avec javascript...
Ma classe est un parser XML
Puis vient ensuite la méthode loadXML et là vient le problème ce qui est un peu normale...
Mon problème c'est qu'ainsi je me retrouve avec une erreur capté par catch
Par contre si je fais
Je n'ai évidemment pas d'erreur mais ma variable n'est visible que dans la méthode loadXml...
En clair, comment puis-je définir proprement xmlDoc (ou toute autre variable) afin de pour l'utiliser dans toutes les méthodes de la classe
Modifié par Spack (04 Nov 2005 - 12:34)

Ma classe est un parser XML
function xmlParser()
{
/* je ne sais pas trop quoi mettre dans le constructeur
peut être this.xmlDoc = xmlDoc avec xmlDoc en paramètre mais ça ne marche pas non plus */
}
Puis vient ensuite la méthode loadXML et là vient le problème ce qui est un peu normale...
xmlParser.prototype.loadXml = function(file)
{
/* chargement du fichier XML */
try {
// navigateur basé sur Gecko
if (document.implementation && document.implementation.createDocument)
{
this.xmlDoc = document.implementation.createDocument("", "doc", null);
this.xmlDoc.onload = function() { this.loaded = true; }
this.xmlDoc.load(file);
}
// il y a d'autres tests pour IE et XMLHTTPRequest mais on va faire court.
} catch (e) {
alert(e);
return false;
}
return true;
}
Mon problème c'est qu'ainsi je me retrouve avec une erreur capté par catch
a écrit :car en fait je n'arrive pas à définir xmlDoc afin de la trimbaler dans toutes les méthodes de la classe...
TypeError: xmlDoc has no properties
Par contre si je fais
var xmlDoc = document.implementation.createDocument("", "doc", null);
xmlDoc.onload = function() { this.loaded = true; }
xmlDoc.load(file);
Je n'ai évidemment pas d'erreur mais ma variable n'est visible que dans la méthode loadXml...
En clair, comment puis-je définir proprement xmlDoc (ou toute autre variable) afin de pour l'utiliser dans toutes les méthodes de la classe

Modifié par Spack (04 Nov 2005 - 12:34)