Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.05.2011, 20:30
Новичок на форуме
Отправить личное сообщение для maximvg Посмотреть профиль Найти все сообщения от maximvg
 
Регистрация: 04.05.2011
Сообщений: 2

Преобразование XML/XSLT в ИЕ
В ИЕ почему-то не хочется добавляться параметр в XML/XSLT преобразование

domDocument = 
{
	load_file : function(xmlfile)
	{
		if (window.XMLHttpRequest)
		{
			xhttp=new XMLHttpRequest();
		}
		else
		{
			alert("Hello!");
			xhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}

		xhttp.open("GET",xmlfile,false);
		xhttp.send("");
		return xhttp.responseXML;
	},   

	load_string : function(xmlstr)
	{   
		if(document.implementation && document.implementation.createDocument)
	    {    
			var parser = new DOMParser();
			var doc = parser.parseFromString(xmlstr,"text/xml");
	    }
    	else if(window.ActiveXObject)
    	{   
			var doc = Try.these(
				function() { new ActiveXObject('Microsoft.XMLDOM')			  },
				function() { return new ActiveXObject('Microsoft.DomDocument')},
				function() { return new ActiveXObject('MSXML.DomDocument')    },
				function() { return new ActiveXObject('MSXML2.DomDocument')   },
				function() { return new ActiveXObject('MSXML3.DomDocument')   }
			) || false;

	        doc.async = false;
    	    doc.load(xmlstr);
    	}
    	return doc || null;
	},   

	xslt : function(xmldoc,xsldoc,param)
	{   
	try
	{
		if(document.implementation && document.implementation.createDocument)
	    {   
			var proc = new XSLTProcessor();
	        proc.importStylesheet(xsldoc);
			
			if (param){
				params = explode(", ", param);
				for (i = 0; i<params.length; i = i+2){
					if (!params[i] || !params[i+1]) continue;
					name = params[i];
					value = params[i+1];
					proc.setParameter(null, name, value);
				}
			}
			
    	    var xhtmldoc = proc.transformToDocument(xmldoc);
        	var ser = new XMLSerializer();
	        return ser.serializeToString(xhtmldoc);
    	}
	    else if(window.ActiveXObject)
    	{   

			if (param){
				params = explode(", ", param);
				for (i = 0; i<params.length; i = i+2){
					if (!params[i] || !params[i+1]) continue;
					name = params[i];
					value = params[i+1];
					alert(name+value);
					xmldoc.setParameter(null, name, value);
				}
			}

			return xmldoc.transformNode(xsldoc);
	    }
	} catch (e) {}
	},   

	asXML : function(xmldoc)
	{   
		if(document.implementation && document.implementation.createDocument)
	    {   
			var ser = new XMLSerializer();
	        return ser.serializeToString(xmldoc);
    	}
	    else if(window.ActiveXObject)
    	{   
			return xmldoc.xml;
	    }
	}    
}


Собственно сама проблема лежит тут:

else if(window.ActiveXObject)
    	{   

			if (param){
				params = explode(", ", param);
				for (i = 0; i<params.length; i = i+2){
					if (!params[i] || !params[i+1]) continue;
					name = params[i];
					value = params[i+1];
					alert(name+value);
					xmldoc.setParameter(null, name, value);
				}
			}

			return xmldoc.transformNode(xsldoc);
	    }


Без xmldoc.setParameter(null, name, value); все работает, с xmldoc.setParameter(null, name, value); xshtml получаю undefuned.

В чем дело, объясните?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование секунд в минуты Эдуард Общие вопросы Javascript 11 08.12.2010 07:19
Преобразование bb кодов cyberx Общие вопросы Javascript 12 26.08.2010 23:41
преобразование типов evgenik Общие вопросы Javascript 3 29.04.2010 09:50
Преобразование данных с сервера в JSON frolvict Общие вопросы Javascript 1 04.04.2010 12:26
Преобразование переменной doniv jQuery 15 21.03.2010 15:30