Blame | Letzte Änderung | Log anzeigen | RSS feed
// This is a third party JavaScript library from// http://webfx.eae.net/dhtml/xmlextras/xmlextras.html// i.e. This has not been written by ThoughtWorks.//<script>//////////////////// Helper Stuff ////////////////////// used to find the Automation server namefunction getDomDocumentPrefix() {if (getDomDocumentPrefix.prefix)return getDomDocumentPrefix.prefix;var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];var o;for (var i = 0; i < prefixes.length; i++) {try {// try to create the objectso = new ActiveXObject(prefixes[i] + ".DomDocument");return getDomDocumentPrefix.prefix = prefixes[i];}catch (ex) {};}throw new Error("Could not find an installed XML parser");}function getXmlHttpPrefix() {if (getXmlHttpPrefix.prefix)return getXmlHttpPrefix.prefix;var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];var o;for (var i = 0; i < prefixes.length; i++) {try {// try to create the objectso = new ActiveXObject(prefixes[i] + ".XmlHttp");return getXmlHttpPrefix.prefix = prefixes[i];}catch (ex) {};}throw new Error("Could not find an installed XML parser");}//////////////////////////// Start the Real stuff ////////////////////////////// XmlHttp factoryfunction XmlHttp() {}XmlHttp.create = function () {try {if (window.XMLHttpRequest) {var req = new XMLHttpRequest();// some versions of Moz do not support the readyState property// and the onreadystate event so we patch it!if (req.readyState == null) {req.readyState = 1;req.addEventListener("load", function () {req.readyState = 4;if (typeof req.onreadystatechange == "function")req.onreadystatechange();}, false);}return req;}if (window.ActiveXObject) {return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");}}catch (ex) {}// fell throughthrow new Error("Your browser does not support XmlHttp objects");};// XmlDocument factoryfunction XmlDocument() {}XmlDocument.create = function () {try {// DOM2if (document.implementation && document.implementation.createDocument) {var doc = document.implementation.createDocument("", "", null);// some versions of Moz do not support the readyState property// and the onreadystate event so we patch it!if (doc.readyState == null) {doc.readyState = 1;doc.addEventListener("load", function () {doc.readyState = 4;if (typeof doc.onreadystatechange == "function")doc.onreadystatechange();}, false);}return doc;}if (window.ActiveXObject)return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");}catch (ex) {}throw new Error("Your browser does not support XmlDocument objects");};// Create the loadXML method and xml getter for Mozillaif (window.DOMParser &&window.XMLSerializer &&window.Node && Node.prototype && Node.prototype.__defineGetter__) {// XMLDocument did not extend the Document interface in some versions// of Mozilla. Extend both!//XMLDocument.prototype.loadXML =Document.prototype.loadXML = function (s) {// parse the string to a new docvar doc2 = (new DOMParser()).parseFromString(s, "text/xml");// remove all initial childrenwhile (this.hasChildNodes())this.removeChild(this.lastChild);// insert and import nodesfor (var i = 0; i < doc2.childNodes.length; i++) {this.appendChild(this.importNode(doc2.childNodes[i], true));}};/** xml getter** This serializes the DOM tree to an XML String** Usage: var sXml = oNode.xml**/// XMLDocument did not extend the Document interface in some versions// of Mozilla. Extend both!/*XMLDocument.prototype.__defineGetter__("xml", function () {return (new XMLSerializer()).serializeToString(this);});*/Document.prototype.__defineGetter__("xml", function () {return (new XMLSerializer()).serializeToString(this);});}