// ; // !(function (BI) { // // if (BI.isIE()) { // XMLSerializer = null; // DOMParser = null; // } // // // var XML = { // Document: { // NodeType: { // ELEMENT: 1, // ATTRIBUTE: 2, // TEXT: 3, // CDATA_SECTION: 4, // ENTITY_REFERENCE: 5, // ENTITY: 6, // PROCESSING_INSTRUCTION: 7, // COMMENT: 8, // DOCUMENT: 9, // DOCUMENT_TYPE: 10, // DOCUMENT_FRAGMENT: 11, // NOTATION: 12 // } // } // }; // // XML.ResultType = { // single: 'single', // array: 'array' // }; // // XML.fromString = function (xmlStr) { // try { // var parser = new DOMParser(); // return parser.parseFromString(xmlStr, "text/xml"); // } catch (e) { // var arrMSXML = ["MSXML2.DOMDocument.6.0", "MSXML2.DOMDocument.3.0"]; // for (var i = 0; i < arrMSXML.length; i++) { // try { // var xmlDoc = new ActiveXObject(arrMSXML[i]); // xmlDoc.setProperty("SelectionLanguage", "XPath"); // xmlDoc.async = false; // xmlDoc.loadXML(xmlStr); // return xmlDoc; // } catch (xmlError) { // } // } // } // }; // // XML.toString = function (xmlNode) { // if (!BI.isIE()) { // var xmlSerializer = new XMLSerializer(); // return xmlSerializer.serializeToString(xmlNode); // } else // return xmlNode.xml; // }; // // XML.getNSResolver = function (str) { // if (!str) { // return null; // } // var list = str.split(' '); // var namespaces = {}; // for (var i = 0; i < list.length; i++) { // var pair = list[i].split('='); // var fix = BI.trim(pair[0]).replace("xmlns:", ""); // namespaces[fix] = BI.trim(pair[1]).replace(/"/g, "").replace(/'/g, ""); // } // return function (prefix) { // return namespaces[prefix]; // }; // }; // // XML.eval = function (context, xpathExp, resultType, namespaces) { // if ((BI.isIE() && ('undefined' === typeof(context.selectSingleNode) || 'undefined' === typeof(context.selectNodes)))) { // return XML.eval2(context, xpathExp, resultType, namespaces); // } else { // if (BI.isIE()) { // namespaces = namespaces ? namespaces : ""; // var doc = (context.nodeType == XML.Document.NodeType.DOCUMENT) ? context : context.ownerDocument; // doc.setProperty("SelectionNamespaces", namespaces); // var result; // if (resultType == this.ResultType.single) { // result = context.selectSingleNode(xpathExp); // } else { // result = context.selectNodes(xpathExp) || []; // } // doc.setProperty("SelectionNamespaces", ""); // return result; // } else { // var node = context; // var xmlDoc = (context.nodeName.indexOf("document") == -1) ? context.ownerDocument : context; // var retType = (resultType == this.ResultType.single) ? XPathResult.FIRST_ORDERED_NODE_TYPE : XPathResult.ANY_TYPE; // var col = xmlDoc.evaluate(xpathExp, node, XML.getNSResolver(namespaces), retType, null); // // if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE) { // return col.singleNodeValue; // } else { // var thisColMemb = col.iterateNext(); // var rowsCol = []; // while (thisColMemb) { // rowsCol[rowsCol.length] = thisColMemb; // thisColMemb = col.iterateNext(); // } // return rowsCol; // } // } // } // }; // // XML.eval2 = function (context, xpathExp, resultType, namespaces) { // if (resultType !== "single" && resultType !== undefined && resultType !== null) { // throw new Error("justep.SimpleXML.eval only be resultType='single', not" + resultType); // } // // if (context === null || context === undefined || xpathExp === null || xpathExp === undefined) { // return context; // } // // if (context.nodeType == XML.Document.NodeType.DOCUMENT) { // context = context.documentElement; // } // // var childs, i; // if (xpathExp.indexOf("/") != -1) { // var items = xpathExp.split("/"); // var isAbs = xpathExp.substring(0, 1) == "/"; // for (i = 0; i < items.length; i++) { // var item = items[i]; // if (item === "") { // continue; // } else { // var next = null; // var ii = i + 1; // for (; ii < items.length; ii++) { // if (next === null) { // next = items[ii]; // } else { // next = next + "/" + items[ii]; // } // } // // if (item == ".") { // return this.eval(context, next, resultType); // // } else if (item == "..") { // return this.eval2(context.parentNode, next, resultType); // // } else if (item == "*") { // if (isAbs) { // return this.eval2(context, next, resultType); // // } else { // childs = context.childNodes; // for (var j = 0; j < childs.length; j++) { // var tmp = this.eval2(childs[j], next, resultType); // if (tmp !== null) { // return tmp; // } // } // return null; // } // // } else { // if (isAbs) { // if (context.nodeName == item) { // return this.eval2(context, next, resultType); // } else { // return null; // } // } else { // var child = this.getChildByName(context, item); // if (child !== null) { // return this.eval2(child, next, resultType); // } else { // return null; // } // // } // } // // } // } // // return null; // // } else { // if ("text()" == xpathExp) { // childs = context.childNodes; // for (i = 0; i < childs.length; i++) { // if (childs[i].nodeType == XML.Document.NodeType.TEXT) { // return childs[i]; // } // } // return null; // } else { // return this.getChildByName(context, xpathExp); // } // } // }; // // XML.getChildByName = function (context, name) { // if (context === null || context === undefined || name === null || name === undefined) { // return null; // } // // if (context.nodeType == XML.Document.NodeType.DOCUMENT) { // context = context.documentElement; // } // // var childs = context.childNodes; // for (var i = 0; i < childs.length; i++) { // if (childs[i].nodeType == XML.Document.NodeType.ELEMENT && (childs[i].nodeName == name || name == "*")) { // return childs[i]; // } // } // // return null; // }; // // XML.appendChildren = function (context, xpathExp, nodes, isBefore) { // nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; // var finded = this.eval(context, xpathExp); // var count = finded.length; // for (var i = 0; i < count; i++) { // if (isBefore && finded[i].firstNode) { // this._insertBefore(finded[i], nodes, finded[i].firstNode); // } else { // for (var j = 0; j < nodes.length; j++) { // finded[i].appendChild(nodes[j]); // } // } // } // return count; // }; // // XML.removeNodes = function (context, xpathExp) { // var nodes = this.eval(context, xpathExp); // for (var i = 0; i < nodes.length; i++) { // nodes[i].parentNode.removeChild(nodes[i]); // } // }; // // XML._insertBefore = function (parent, newchildren, refchild) { // for (var i = 0; i < newchildren.length; i++) { // parent.insertBefore(newchildren[i], refchild); // } // }; // // XML.insertNodes = function (context, xpathExp, nodes, isBefore) { // nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; // var finded = this.eval(context, xpathExp); // var count = finded.length; // for (var i = 0; i < count; i++) { // var refnode = (isBefore) ? finded[i] : finded[i].nextSibling; // this._insertBefore(finded[i].parentNode, nodes, refnode); // } // return count; // }; // // XML.replaceNodes = function (context, xpathExp, nodes) { // nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; // var finded = this.eval(context, xpathExp); // var count = finded.length; // for (var i = 0; i < count; i++) { // var refnode = finded[i]; // var parent = refnode.parentNode; // this._insertBefore(parent, nodes, refnode); // parent.removeChild(refnode); // } // return count; // }; // // XML.setNodeText = function (context, xpathExp, text) { // var finded = this.eval(context, xpathExp, this.ResultType.single); // if (finded === null) { // return; // } // if (finded.nodeType == XML.Document.NodeType.ELEMENT) { // var textNode = this.eval(finded, "./text()", this.ResultType.single); // if (!textNode) { // textNode = finded.ownerDocument.createTextNode(""); // finded.appendChild(textNode); // } // textNode.nodeValue = text; // } else { // finded.nodeValue = text; // } // return; // }; // // XML.getNodeText = function (context, xpathExp, defaultValue) { // var finded = xpathExp ? this.eval(context, xpathExp, this.ResultType.single) : context; // if (finded && (finded.nodeType == XML.Document.NodeType.ELEMENT)) { // finded = this.eval(finded, "./text()", this.ResultType.single); // } // return (finded && finded.nodeValue) ? "" + finded.nodeValue : (defaultValue !== undefined) ? defaultValue : null; // }; // // XML.Namespaces = { // XMLSCHEMA: "http://www.w3.org/2001/XMLSchema#", // XMLSCHEMA_STRING: "http://www.w3.org/2001/XMLSchema#String", // XMLSCHEMA_LONG: "http://www.w3.org/2001/XMLSchema#Long", // XMLSCHEMA_INTEGER: 'http://www.w3.org/2001/XMLSchema#Integer', // XMLSCHEMA_FLOAT: 'http://www.w3.org/2001/XMLSchema#Float', // XMLSCHEMA_DOUBLE: 'http://www.w3.org/2001/XMLSchema#Double', // XMLSCHEMA_DECIMAL: 'http://www.w3.org/2001/XMLSchema#Decimal', // XMLSCHEMA_DATE: 'http://www.w3.org/2001/XMLSchema#Date', // XMLSCHEMA_TIME: 'http://www.w3.org/2001/XMLSchema#Time', // XMLSCHEMA_DATETIME: 'http://www.w3.org/2001/XMLSchema#DateTime', // XMLSCHEMA_BOOLEAN: 'http://www.w3.org/2001/XMLSchema#Boolean', // XMLSCHEMA_SYMBOL: 'http://www.w3.org/2001/XMLSchema#Symbol', // JUSTEPSCHEMA: "http://www.justep.com/xbiz#", // RDF: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", // JUSTEP: "http://www.justep.com/x5#", // 'get': function (type) { // type = type ? type.toLowerCase() : "string"; // if ("string" == type) { // return XML.Namespaces.XMLSCHEMA_STRING; // } // else if ("integer" == type) { // return XML.Namespaces.XMLSCHEMA_INTEGER; // } // else if ("long" == type) { // return XML.Namespaces.XMLSCHEMA_LONG; // } // else if ("float" == type) { // return XML.Namespaces.XMLSCHEMA_FLOAT; // } // else if ("double" == type) { // return XML.Namespaces.XMLSCHEMA_DOUBLE; // } // else if ("decimal" == type) { // return XML.Namespaces.XMLSCHEMA_DECIMAL; // } // else if ("date" == type) { // return XML.Namespaces.XMLSCHEMA_DATE; // } // else if ("time" == type) { // return XML.Namespaces.XMLSCHEMA_TIME; // } // else if ("datetime" == type) { // return XML.Namespaces.XMLSCHEMA_DATETIME; // } // else if ("boolean" == type) { // return XML.Namespaces.XMLSCHEMA_BOOLEAN; // } // } // }; // })(BI);