function encHtml(s){
s = s.replace(//g,">");
s = s.replace(/");
}else{
s = s.replace(/@@@@newLine@@@@/g,"\n");
}
return s;
}
function transform(){
document.getElementById("result").innerHTML="";
var xml = document.getElementById("xml").value;
var xsl = document.getElementById("xsl").value;
var result = "";
if(xml && xsl){
if (window.ActiveXObject)// Internet Explorer
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
xmlDoc.loadXML(xml);
xslDoc.loadXML(xsl);
}
else if (window.DOMParser)
{
var parser=new DOMParser();
xmlDoc=parser.parseFromString(xml,"text/xml");
xslDoc=parser.parseFromString(xsl,"text/xml");
}
try{
// code for IE
if (window.ActiveXObject)
{
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
xslt.stylesheet = xslDoc;
var xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.transform();
result=xslProc.output;
document.getElementById("result").innerHTML=encHtml(result);
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
result = xsltProcessor.transformToFragment(xmlDoc,document);
var nodeRes = document.getElementById("result");
nodeRes.appendChild(result);
nodeRes.innerHTML = encHtml(nodeRes.innerHTML);
}
}
catch(e){
result = "Error: " + e;
document.getElementById("result").innerHTML=encHtml(result);
}
}
}