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
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.
Envoyé par : Paul Rouget
Date : 02/03/2006 04:22
Je crois justement que les composants du DOMInspector peuvent t'aider:
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.
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
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.
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.