source: branches/2.2/jabberit_messenger/jmessenger/js/xtools.mini.js @ 3102

Revision 3102, 2.5 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
1
2(function()
3{var _FILES=[];function _convert(pString)
4{if(typeof pString!='string')
5return false;if(window.ActiveXObject)
6{var _xmlDoc=new ActiveXObject("Microsoft.XMLDOM");_xmlDoc.async="false";_xmlDoc.loadXML(pString);}
7else
8{var parser=new DOMParser();var _xmlDoc=parser.parseFromString(pString,"text/xml");}
9return _xmlDoc;}
10function _load(pFile)
11{pFile=this._PATH+'xsl/'+pFile;if(!(_FILES[pFile]))
12{var _data=null;if(document.implementation.createDocument)
13_data=document.implementation.createDocument("","",null);else
14_data=new ActiveXObject("Msxml2.FreeThreadedDOMDocument");_data.async=false;_data.load(pFile+'?'+Date.parse(new Date));_FILES[pFile]=_data;}
15return _FILES[pFile];}
16function _parse()
17{if(arguments.length==1)
18{pXML=_xml('root');pXSL=arguments[0];}
19else
20{pXML=arguments[0];pXSL=arguments[1];}
21switch(typeof pXML)
22{case'object':break;case'string':if(pXML.indexOf('<')==0)
23pXML=_convert(pXML);else
24pXML=_load.call(this,pXML);break;default:return{'error':'invalid xml'}}
25switch(typeof pXSL)
26{case'object':break;case'string':pXSL=_load.call(this,pXSL);break;default:return{'error':'invalid xsl'}}
27var fragment=null;if(window.XSLTProcessor)
28{var xslProc=new XSLTProcessor();xslProc.importStylesheet(pXSL);if((arguments.length==3)&&(typeof arguments[2]=='object'))
29{var params=arguments[2];for(var i in params)
30if(params[i]&&params[i].constructor!=Function)
31xslProc.setParameter(null,String(i),String(params[i]));}
32fragment=xslProc.transformToFragment(pXML,document);var aux=document.createElement("div");aux.appendChild(fragment);fragment=aux.innerHTML;}
33else
34{var xslTemplate=new ActiveXObject("MSXML2.XSLTemplate");xslTemplate.stylesheet=pXSL;var xslProc=xslTemplate.createProcessor();xslProc.input=pXML;if((arguments.length==3)&&(typeof arguments[2]=='object'))
35{var params=arguments[2];for(var i in params)
36if(params[i]&&params[i].constructor!=Function)
37{xslProc.addParameter(String(i),String(params[i]),'');}}
38xslProc.transform();fragment=xslProc.output;}
39return fragment;}
40function _xml()
41{var a=false;if(document.implementation.createDocument)
42a=document.implementation.createDocument("","",null);else if(ActiveXObject)
43a=new ActiveXObject("Msxml2.DOMDocument");if(arguments.length==1&&typeof arguments[0]=='string')
44a.appendChild(a.createElement(arguments[0]));return a;}
45function xtools()
46{var _argv=arguments;this._PATH=(_argv.length>0)?_argv[0]:'';if(this._PATH!=''&&this._PATH.lastIndexOf('/')!=(this._PATH.length-1))
47this._PATH+='/';}
48xtools.prototype.convert=_convert;xtools.prototype.load=_load;xtools.prototype.parse=_parse;xtools.prototype.xml=_xml;window.xtools=xtools;})();
Note: See TracBrowser for help on using the repository browser.