Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Dump d'un document avec XBL et RDF

Envoyé par : golgoth14

Date : 01/03/2006 14:31

Bonjour,

J'ai écrit une simple fonction permettant de dumper le document DOM d'une page XUL sur le disque dure. Du type :

 var serializer = new XMLSerializer();
 var domAsString = serializer.serializeToString(aDocument);
 writeStringToFile(domAsString, "c:\\document.xml");

J'aimerai pouvoir faire un dump complet avec le contenu des XBL's se trouvant dans la page XUL.

Si ma page XUL contient :

 <xul:page id="page" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
   <xul:box orient="vertical" flex="1">
     <xul:button label="bouton"/>
     <xul:monXbl id="test"/>
   </xul:box>
 </xul:page>

J'aimerai retrouver :

 <xul:page id="page" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
   <xul:box orient="vertical" flex="1">
     <xul:button label="bouton"/>
     <xul:monXbl id="test">
       // Ici, le contenu du XBL comme par exemple
       <xul:textbox .... />
     </xul:monXbl>
   </xul:box>
 </xul:page>

Est-ce possible de réaliser ce genre d'opération ?

Existe-t-il une extension pour Firefox 1.5 permettant de faire ce que je veux ?

Pour info, un dump complet de l'arbre DOM permettrait de tester l'interface utilisateur avec un outil de macro + de comparaison de fichiers.

Merci d'avance. Stéphane

# Re: Dump d'un document ET des XBL

Envoyé par : laurentj

Date : 01/03/2006 16:13

Est-ce possible de réaliser ce genre d'opération ?

oui. Mais faut que tu code toi meme un serializer, afin qu'il lise non seulement les élements dom normaux, mais aussi les anonymousNode.

Existe-t-il une extension pour Firefox 1.5 permettant de faire ce que je veux ?

Pas à ma connaissance. Y a bien le dom inspector qui te permet de visualiser, mais pas d'imprimer il me semble.

# Re: Dump d'un document ET des XBL

Envoyé par : Paul Rouget

Date : 02/03/2006 04:22

Je crois justement que les composants du DOMInspector peuvent t'aider:

http://www.xulplanet.com/references/xpco(..)

# Re: Dump d'un document ET des XBL

Envoyé par : golgoth14

Date : 02/03/2006 10:14

Merci pour ces infos. Après avoir essayé le composant "inIDeepTreeWalker" du DOMInspector, j'ai un problème d'implémentation.

Il semblerai que certaines fonctions de l'interface ne soient pas implémentées.

Voici l'exception que je récupère lorsque j'appelle les méthodes "firstChild()" ou "nextSibling()" du DeepTreeWalker :

Error: uncaught exception: [Exception... "Component returned failure  code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED)  [inIDeepTreeWalker.nextSibling]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "JS frame :: chrome://profil/content/main/main.js :: anonymous :: line 52"  data: no]

Sans ces méthodes, il est difficile de recomposer un arbre.

# Re: Dump d'un document ET des XBL

Envoyé par : laurentj

Date : 02/03/2006 11:58

Oui, tu as juste nextNode et parentNode qui sont implémentés http://lxr.mozilla.org/seamonkey/source/(..), ainsi que les propriétés.

à priori, ça devrait suffire pour parcourir l'arbre :-)

# Re: Dump d'un document ET des XBL

Envoyé par : golgoth14

Date : 02/03/2006 15:59

Super, merci. Je peux dumper tout un document XUL contenant des XBL's et même des iframes.

Je n'ai plus qu'une étape à franchir qui est de dumper aussi le contenu RDF des arbres (tree)... Si vous avez des tuyaux, je vous en remercie d'avance.

Dès le dump complet sera réalisé, il sera facile de tester le contenu de l'interface utilisateur d'une application XUL. Ceci afin de réaliser des tests automatiques de non régression.

# Re: Dump d'un document ET des XBL

Envoyé par : golgoth14

Date : 02/03/2006 16:46

J'ai trouvé de la doc pour sérialiser un source de données RDF:

http://xulplanet.com/tutorials/mozsdk/rdfsave.php

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.