//----------------------  creer un document XML en mémoire
 
var parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
         .createInstance(Components.interfaces.nsIDOMParser);
var doc = parser.parseFromString(
              "<?xml version='1.0'?><records />",
              "text/xml");
 
 
// ---------------------  récuperer le service observer
var obs =  Components.classes["@mozilla.org/observer-service;1"]
            .getService(Components.interfaces.nsIObserverService);
 
 
// --------------------- créer un observateur
var myObserver = {
 
  observe: function ( aSubject, aTopic, aData) {
    if (aTopic == "bla bla") {
 
 
    }
  }
}
 
// ---------------------- enregistrer un observateur
obs.addObserver(myObserver, "bla bla", false);
 
 
// ---------------------- notifier les observateurs
obs.notifyObservers(null, "bla bla", "une valeur");