well, it appears you are only setting parameters for mozilla based browsers (firefox, etc) - are you viewing this in firefox, or are you using ie for some strange reason?
for firefox the parameter setting appears correct to me.
in case it helps, I have a working js function that looks a lil something like this:
(of course, this references some vars that aren't showing, and is completly js driven, but you should be able to get the gist of it)
function XSLTTransform ( the_xsl, the_xml, parameter_array )
{
if ( window.ActiveXObject )
{
var XSLTCompiled = new ActiveXObject( 'MSXML2.XSLTemplate' );
XSLTCompiled.stylesheet = the_xsl.documentElement;
// create XSL-processor
var XSLTProc = XSLTCompiled.createProcessor();
XSLTProc.input = the_xml;
if ( parameter_array )
{
for ( var i in parameter_array )
{
XSLTProc.addParameter( i, parameter_array[i] );
}
}
XSLTProc.transform();
if ( actions_div )
{
content_holder.innerHTML = "<div id='actions'>" + actions_div.innerHTML + "</div>" + XSLTProc.output;
}
else
{
content_holder.innerHTML = XSLTProc.output;
}
}
else if ( document.implementation && document.implementation.createDocument )
{
XSLTProc = new XSLTProcessor();
XSLTProc.importStylesheet( the_xsl );
if ( parameter_array )
{
for ( var i in parameter_array )
{
XSLTProc.setParameter( null, i, parameter_array[i] );
}
}
TransformDoc = XSLTProc.transformToFragment( the_xml, document );
clearContent ( );
if ( actions_div )
{
content_holder.appendChild( actions_div );
}
content_holder.appendChild( TransformDoc );
}
else
{
window.alert( 'Browser does not support XSLT.' );
return false;
}
}