JSJaCBuilder.js
Summary
No overview generated for 'JSJaCBuilder.js'
var JSJaCBuilder = {
buildNode: function(doc, elementName) {
var element, ns = arguments[4];
if(arguments[2])
if(JSJaCBuilder._isStringOrNumber(arguments[2]) ||
(arguments[2] instanceof Array)) {
element = this._createElement(doc, elementName, ns);
JSJaCBuilder._children(doc, element, arguments[2]);
} else {
ns = arguments[2]['xmlns'] || ns;
element = this._createElement(doc, elementName, ns);
for(attr in arguments[2]) {
if (arguments[2].hasOwnProperty(attr) && attr != 'xmlns')
element.setAttribute(attr, arguments[2][attr]);
}
}
else
element = this._createElement(doc, elementName, ns);
if(arguments[3])
JSJaCBuilder._children(doc, element, arguments[3], ns);
return element;
},
_createElement: function(doc, elementName, ns) {
try {
if (ns)
return doc.createElementNS(ns, elementName);
} catch (ex) { }
var el = doc.createElement(elementName);
if (ns)
el.setAttribute("xmlns", ns);
return el;
},
_text: function(doc, text) {
return doc.createTextNode(text);
},
_children: function(doc, element, children, ns) {
if(typeof children=='object') {
for (var i in children) {
if (children.hasOwnProperty(i)) {
var e = children[i];
if (typeof e=='object') {
if (e instanceof Array) {
var node = JSJaCBuilder.buildNode(doc, e[0], e[1], e[2], ns);
element.appendChild(node);
} else {
element.appendChild(e);
}
} else {
if(JSJaCBuilder._isStringOrNumber(e)) {
element.appendChild(JSJaCBuilder._text(doc, e));
}
}
}
}
} else {
if(JSJaCBuilder._isStringOrNumber(children)) {
element.appendChild(JSJaCBuilder._text(doc, children));
}
}
},
_attributes: function(attributes) {
var attrs = [];
for(attribute in attributes)
if (attributes.hasOwnProperty(attribute))
attrs.push(attribute +
'="' + attributes[attribute].toString().htmlEnc() + '"');
return attrs.join(" ");
},
_isStringOrNumber: function(param) {
return(typeof param=='string' || typeof param=='number');
}
};
Documentation generated by
JSDoc on Tue Apr 5 02:10:38 2016