var XMLDom = {  Version: '1.1.0',  prototypeVersion: parseFloat(Prototype.Version.split(".")[0] + "." + Prototype.Version.split(".")[1])}XMLDom.document = Prototype.Class.create();XMLDom.document.prototype = {initialize: function(strXML){  var xmlDoc = null;  if (window.ActiveXObject){try{xmlDoc = new ActiveXObject('MSXML3.DOMDocument');}catch(e){try{xmlDoc = new ActiveXObject('MSXML2.DOMDocument');}catch(e){xmlDoc = new ActiveXObject('Microsoft.DOMDocument');}}xmlDoc.loadXML(strXML);  }  else if (document.implementation && document.implementation.createDocument){var xmlParser = new DOMParser();while (strXML.indexOf('&lt;') >= 0) strXML = strXML.replace('&lt;', '<');while (strXML.indexOf('&gt;') >= 0) strXML = strXML.replace('&gt;', '>');xmlDoc = xmlParser.parseFromString(strXML, "text/xml");  }  this.xmlDoc = xmlDoc;},selectSingleNode: function(xPath){  var content;  if (window.ActiveXObject){content = this.xmlDoc.selectSingleNode(xPath).value;  }  else if (document.implementation && document.implementation.createDocument){var obj = this.xmlDoc.evaluate(xPath, this.xmlDoc.documentElement, null, XPathResult.STRING_TYPE, null);content = obj.stringValue;  }  return content},getSingleNode: function(xPath){  var content;  if (window.ActiveXObject){content = this.xmlDoc.selectSingleNode(xPath);  }  else if (document.implementation && document.implementation.createDocument){var obj = this.xmlDoc.evaluate(xPath, this.xmlDoc.documentElement, null, XPathResult.STRING_TYPE, null);content = obj;  }  return content},getDocument: function(){return this.xmlDoc;},xml: function(){    var strXml="";if(window.XMLSerializer){  strXml = new XMLSerializer().serializeToString(this.xmlDoc);}else{  strXml = this.xmlDoc.xml;}return strXml;}}