le pb n'était pas posé bien clairement ! Bref, voici ce que j'ai réussi à faire :
<html>
<head>
<script>
var xml = top.frames["Haut"].ChemXML;
</script>
</head>
<body onload="transform(loadXML(xml), loadXML('03_Mesures.xsl'), 'transform')">
<div id="transform">
<!-- c'est ici que ce fait la transformation -->
</div>
</body>
</html>
avec ces deux fonctions javascript (utilisation de ActiveX, donc fonctionne uniquement sur IE) :
//****************************************************************
//Ces deux fonctions associées permettent d'afficher une page HTML
//en choisissant les fichiers XML et XSL que l'on souhait afficher
//****************************************************************
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);
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;
}
}