[XSL][JAVASCRIPT] Document.write => Segfault

Document.write => Segfault [XSL][JAVASCRIPT] - XML/XSL - Programmation

Marsh Posté le 10-01-2005 à 18:51:20    

Bonsoir,
 
Comme tout un chacun, je veux passer d'un XML peu potable a un vrai HTML human-readable.
Pour faire du joli, c'est bon. Mon probleme vient de l'integration du javascript. Non pas que les fonctions qui feraient deplacer un avion en haut a gauche foirent, ou que 2+2 fasse 87, mais un simple document.write fait segfaulter Mozilla (et Mozilla-firefox).
 
En essayant de deplacer le probleme dans un fichier js, qui de fait ne contient que
document.write("hello world !" );
L'erreur deplacee, mozilla-firefox ne plante plus, mais la console JS affiche :


Error: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMNSHTMLDocument.write]"  nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)"  location: "JS frame :: file:///.../try.js :: <TOP_LEVEL> :: line 1"  data: no]


 
Bref, le plus simple document XSL parsant un fichier XML avec un element et qui fait un document.write me fait tout planter.
 
Pour moi, il s'agit en fait qu'il tante d'executer le js avant que le document ne soit cree. Les solutions proposes sont de le mettre entre balise <xsl:comment>, mais plus rien ne se passe sous firefox. L'alternative etait xsl:text qui provoque une erreur de parse que je ne comprends pas.
 
Merci d'avance si vous avez une petite idee quant a ce probleme :-)

Reply

Marsh Posté le 10-01-2005 à 18:51:20   

Reply

Marsh Posté le 10-01-2005 à 20:07:35    

Je crois bien que document.write ne fonctionne pas en XML. Faut passer par des fonctions pour créer des Nodes, etc... Regarde sur le web comment écrire dans un document XML.
Il y a le même problème pour les documents XHTML servis avec un type MIME application/xhtml+xml.

Reply

Marsh Posté le 10-01-2005 à 23:05:28    

Merci, je poursuis mes recherches. Tu aurais pour autant un exemple sous la main s'il te plait ?
 
Merci d'avance :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed