File: D:/HostingSpaces/PHerau/toptennisteam.be/wwwroot/js/dnn.xml.js
if (typeof(__dnn_m_aNamespaces) == 'undefined') //include in each DNN ClientAPI namespace file for dependency loading
var __dnn_m_aNamespaces = new Array();
function __dnn_getParser()
{
if (dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
return 'MSXML';
else if (dnn.dom.browser.isType(dnn.dom.browser.Netscape,dnn.dom.browser.Mozilla))
return 'DOMParser';
else
return 'JS';
}
//dnn.xml Namespace ---------------------------------------------------------------------------------------------------------
function dnn_xml()
{
this.pns = 'dnn';
this.ns = 'xml';
this.dependencies = 'dnn,dnn.dom'.split(',');
this.isLoaded = false;
this.parserName = null;
}
dnn_xml.prototype.init = function ()
{
this.parserName = __dnn_getParser();
if (this.parserName == 'MSXML')
{
dnn_xml.prototype.createDocument = function()
{
var o = new ActiveXObject('MSXML.DOMDocument');
o.async = false;
return new dnn.xml.documentObject(o);
}
dnn_xml.prototype.documentObject.prototype.getXml = function(sXml)
{
return this._doc.xml;
}
dnn_xml.prototype.documentObject.prototype.loadXml = function (sXml)
{
return this._doc.loadXML(sXml);
}
}
else if (this.parserName == 'DOMParser')
{
dnn_xml.prototype.createDocument = function()
{
return new dnn.xml.documentObject(document.implementation.createDocument("", "", null));
}
dnn_xml.prototype.documentObject.prototype.getXml = function (sXml)
{
return this._doc.xml;
}
dnn_xml.prototype.documentObject.prototype.loadXml = function (sXml)
{
// parse the string to a new doc
var oDoc = (new DOMParser()).parseFromString(sXml, "text/xml");
// remove all initial children
while (this._doc.hasChildNodes())
this._doc.removeChild(this._doc.lastChild);
// insert and import nodes
for (var i = 0; i < oDoc.childNodes.length; i++)
this._doc.appendChild(this._doc.importNode(oDoc.childNodes[i], true));
}
function __dnn_getNodeXml()
{
//create a new XMLSerializer
var oXmlSerializer = new XMLSerializer;
//get the XML string
var sXml = oXmlSerializer.serializeToString(this);
//return the XML string
return sXml;
}
Node.prototype.__defineGetter__("xml", __dnn_getNodeXml);
}
else
{
dnn_xml.prototype.createDocument = function()
{
return new dnn.xml.documentObject(new dnn.xml.JsDocument());
}
dnn_xml.prototype.documentObject.prototype.getXml = function ()
{
return this._doc.getXml(); //wish other browsers supported getters/setters
}
dnn_xml.prototype.documentObject.prototype.loadXml = function (sXml)
{
return this._doc.loadXml(sXml);
}
}
}
//dnn.xml.documentObject Object ---------------------------------------------------------------------------------------------------------
dnn_xml.prototype.documentObject = function(oDoc)
{
this._doc = oDoc;
}
dnn_xml.prototype.documentObject.prototype.childNodes = function (iIndex)
{
if (this._doc.childNodes[iIndex] != null)
return new dnn.xml.XmlNode(this._doc.childNodes[iIndex]);
}
dnn_xml.prototype.documentObject.prototype.findNode = function (sNodeName, sAttr, sValue)
{
return this.childNodes(0).findNode(sNodeName, sAttr, sValue);
}
dnn_xml.prototype.documentObject.prototype.childNodeCount = function ()
{
return this._doc.childNodes.length;
}
dnn_xml.prototype.documentObject.prototype.rootNode = function ()
{
var oNode;
for (var i=0; i<this.childNodeCount(); i++)
{
if (this.childNodes(i).nodeType != 7)
{
oNode = this.childNodes(i);
break;
}
}
return oNode;
}
//dnn.xml.XmlNode ---------------------------------------------------------------------------------------------------------
//function dnn_xml_XmlNode(oNode)
dnn_xml.prototype.XmlNode = function (oNode)
{
this.node = oNode;
this.ownerDocument = this.node.ownerDocument;
this.nodeType = this.node.nodeType;
}
dnn_xml.prototype.XmlNode.prototype.parentNode = function ()
{
if (this.node.parentNode != null)
return new dnn.xml.XmlNode(this.node.parentNode);
else
return null;
}
dnn_xml.prototype.XmlNode.prototype.childNodes = function (iIndex)
{
if (this.node.childNodes[iIndex] != null)
return new dnn.xml.XmlNode(this.node.childNodes[iIndex]);
}
dnn_xml.prototype.XmlNode.prototype.childNodeCount = function ()
{
return this.node.childNodes.length;
}
dnn_xml.prototype.XmlNode.prototype.nodeName = function ()
{
return this.node.nodeName;
}
dnn_xml.prototype.XmlNode.prototype.getAttribute = function (sAttr, sDef)
{
var sRet = this.node.getAttribute(sAttr);
if (sRet == null)
sRet = sDef;
return sRet;
}
dnn_xml.prototype.XmlNode.prototype.setAttribute = function (sAttr, sVal)
{
if (sVal == null)
return this.node.removeAttribute(sAttr);
else
return this.node.setAttribute(sAttr, sVal);
}
dnn_xml.prototype.XmlNode.prototype.getXml = function()
{
if (this.node.xml != null)
return this.node.xml;
else
return this.node.getXml();
}
dnn_xml.prototype.XmlNode.prototype.getDocumentXml = function()
{
if (this.node.ownerDocument.xml != null)
return this.node.ownerDocument.xml;
else
return this.node.ownerDocument.getXml();
}
dnn_xml.prototype.XmlNode.prototype.appendXml = function (sXml)
{
var oDoc = dnn.xml.createDocument();
oDoc.loadXml('<___temp>' + sXml + '</___temp>'); //need to guarantee a single root
var aNodes = new Array();
for (var i=0; i<oDoc.childNodes(0).childNodeCount(); i++) //appending child actually removes node from document, so get references then do append
aNodes[aNodes.length] = oDoc.childNodes(0).childNodes(i).node; //use real underlying node object
for (var i=0; i<aNodes.length; i++)
this.node.appendChild(aNodes[i]); //surprised I don't need importNode
return true;
}
dnn_xml.prototype.XmlNode.prototype.getNodeIndex = function (sIDName)
{
var oParent = this.parentNode();
var sID = this.getAttribute(sIDName);
for (var i=0; i<oParent.childNodeCount(); i++)
{
if (oParent.childNodes(i).getAttribute(sIDName) == sID)
return i;
}
return -1;
}
dnn_xml.prototype.XmlNode.prototype.findNode = function (sNodeName, sAttr, sValue)
{
var sXPath = "//" + sNodeName + "[@" + sAttr + "='" + sValue + "']";
var oNode;
if (typeof(this.node.selectSingleNode) != 'undefined')
oNode = this.node.selectSingleNode(sXPath);
else if (typeof(this.node.ownerDocument.evaluate) != 'undefined')
{
var oNodeList = (this.node.ownerDocument.evaluate(sXPath, this.node, null, 0, null));
if (oNodeList != null)
oNode = oNodeList.iterateNext();
}
else
oNode = this.node.ownerDocument.findNode(this.node, sNodeName, sAttr, sValue);
if (oNode != null)
return new dnn.xml.XmlNode(oNode);
}
dnn_xml.prototype.XmlNode.prototype.removeChild = function(oNode)
{
return this.node.removeChild(oNode.node);
}
//---------------------------------------------------------------------------------------------------------
dnn_xml.prototype.dependenciesLoaded = function()
{
return (typeof(dnn) != 'undefined' && typeof(dnn.dom) != 'undefined');
}
dnn_xml.prototype.loadNamespace = function ()
{
if (this.isLoaded == false)
{
if (this.dependenciesLoaded())
{
dnn.xml = this;
this.isLoaded = true;
dnn.loadDependencies(this.pns, this.ns);
dnn.xml.init();
}
}
}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length] = new dnn_xml();
for (var i=__dnn_m_aNamespaces.length-1; i>=0; i--)
__dnn_m_aNamespaces[i].loadNamespace();