Bonjour,
voila mon code il marche nikel sous ie , par contre sous firefox(version 1.5.0.4) si je met un alert (dans la fonction goto) avant l appele a la fonction transform mais si j enleve ce alert ca marche pas .
Quelqu'un a une idée ?
merci
Modifié par dragonix (13 Jun 2006 - 22:02)
voila mon code il marche nikel sous ie , par contre sous firefox(version 1.5.0.4) si je met un alert (dans la fonction goto) avant l appele a la fonction transform mais si j enleve ce alert ca marche pas .
Quelqu'un a une idée ?
merci
<html>
<head>
<title>Transformation XSLT</title>
<script type="text/javascript">
function loadXML(url)
{
var xmlDoc;
// chargement du fichier XML
try {
// navigateur basé sur Gecko
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(url);
// ActiveX pour Internet Explorer
} else if (window.ActiveXObject) {
try {
xmlDoc = new ActiveXObject('Msxml2.XMLDOM');
} catch (e) {
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
}
xmlDoc.async = false;
xmlDoc.load(url);
// à l'aide de lobjet XMLHTTPRequest
} else if (window.XMLHttpRequest) {
xmlDoc = new XMLHttpRequest();
xmlDoc.overrideMimeType('text/xml');
xmlDoc.open('GET', url, false);
xmlDoc.send(null);
if (this.xmlDoc.readyState == 4) xmlDoc = xmlDoc.responseXML;
}
} catch (e) {
return e;
}
return xmlDoc;
}
function transform(xml, xsl, id)
{
try {
// navigateur basé sur Gecko
if (window.XSLTProcessor)
{
var fragment;
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
fragment = xsltProcessor.transformToFragment(xml, document);
var target = document.getElementById(id);
/*
doc = processor.transformToDocument(xmlDoc);
var xmls = new XMLSerializer();
alert(xmls.serializeToString(doc));
target.innerHTML = xmls.serializeToString(doc);
*/
target.appendChild(fragment);
document.appendChild(target);
// ActiveX pour Internet Explorer
} else if (window.ActiveXObject) {
var target = document.getElementById(id);
target.innerHTML = xml.transformNode(xsl);
}
} catch (e) {
return e;
}
}
function goto()
{
var artisteURL = 'test.xml';
var paroleURL = 'xml.xsl';
var xml = loadXML(artisteURL);
var xsl = loadXML(paroleURL);
//pb sous firefox
alert("");
transform(xml, xsl, 'transform');
}
</script>
</head>
<body >
<input type="button" onclick="goto();" id="titi" value="tesxte"></input>
<h1>Test</h1>
<div id="transform">
</div>
Toto
</body>
</html>
Modifié par dragonix (13 Jun 2006 - 22:02)