Activation of a javascript incorporated after initial loading of the page

Alexandre Damiron <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xml
Organization Guest of ProXad - France
Message-ID <[email protected]>
Hi, I send an intial js loader to the browser, namely htmlOutput

function htmlOutput(xmlUri, xslUri){
	
	var xmlHttp = XmlHttp.create(); //XmlHttp is a cross-browser 
httpRequest Class. We load the xml file
    	var async = true;
    	xmlHttp.open("GET", xmlUri, async);
    	xmlHttp.onreadystatechange = function () {
		   if (xmlHttp.readyState == 4){ //Once loaded, the xsl stylesheet is 
loaded too, then imported into the xslt processor
		  	 // TODO error control
		      	var processor = new XSLTProcessor();
			var xslHttp = XmlHttp.create();
    			var xslasync = true;
    			xslHttp.open("GET", xslUri, xslasync);
    			xslHttp.onreadystatechange = function () {
				if (xslHttp.readyState == 4){
				       	processor.importStylesheet(xslHttp.responseXML);
				  	var newDocument = 
processor.transformToDocument(xmlHttp.responseXML); //xslt produce a DomDoc
					var bodyChildren = new Array();
					bodyChildren = newDocument.getElementsByTagName("body")[0].childNodes;
					for (var i = 0; i < bodyChildren.length; i++) { //each part of the 
body is imported into the displayed doc, namely document
					 
document.getElementsByTagName("body")[0].appendChild(document.importNode(bodyChildren[i], 
true));
					}
					var bodyChildren = new Array();
					headChildren = newDocument.getElementsByTagName("head")[0].childNodes;
					for (var i = 0; i < headChildren.length; i++) { //same for each 
part of the head is imported into the displayed doc, namely document
					 
document.getElementsByTagName("head")[0].appendChild(document.importNode(headChildren[i], 
true));
					}
				}
			}
			xslHttp.send(null);
		}
	}
	xmlHttp.send(null);

}

This is very classical. Xml is loaded, then Xsl, XsltProcessor is 
instanciated, filled with the stylesheet, the transformation is made. 
Finally, I import into the displayed document every node which interest 
me, in the body then in the head section. In that case, every node of 
the XHTML output produced. It works. I am happy, because everything is 
loaded just once, and my xmlHttp.responseXML is ready to be worked on, 
while the nodes are displayed and present in the DOM inspector.
But There is a problem: The script node I add via xslt does not seem to 
be evaluated. Its functions are not taken into consideration. Any ideas ?

The xsl: add_user_input() is in add.js. But clicking the button throw 
that there is no such function. An alert('test') in that js does not 
work either.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xhtml="http://www.w3.org/1999/xhtml">
	<xsl:template match="/">
		<html>
				<head>
					<title>Gestion des droits trac: Interface</title>
					<link type="image/x-icon" href="/favicon.ico" rel="shortcut 
icon"></link>
					<link href="URI/dev.css" type="text/css" rel="stylesheet"></link>
					<meta content="text/html; charset=ISO-8859-1" 
http-equiv="Content-Type"></meta>
					<meta content ="" name="keywords"></meta>
					<meta content ="" name="description"></meta>
					<meta http-equiv = "content-language" content = "fr-FR, en-US"></meta>
					<meta http-equiv = "cache-control" content = "no-cache"></meta>
					<meta name = "author" content = "Alexandre Damiron"></meta>
					<script type='text/javascript'  src='URI/javascripts/add.js'>
					</script>
				</head>
				<body>

					<table>
						<xsl:for-each select="/Repositories/Repository">
							<tr>
								<td>
									<div><xsl:value-of select="Path"/></div><input type="button" 
value="Ajouter un utilisateur" onclick="javascript:add_user_input()" />
									<br/>
									<table>
										<xsl:for-each select="Users/User">
											<tr>
												<td>
													<i><xsl:value-of select="."/></i>
												</td>
											</tr>
										</xsl:for-each>
									</table>
								</td>
							</tr>
						</xsl:for-each>
					</table>

				</body>
			</html>

	</xsl:template>

</xsl:stylesheet>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.