!function(d) { function nodeRender(tplArr, parent, k, o) { for(;(o=tplArr.shift())!=null;) { if(''+o === o || +o === o) //scalar parent.appendChild(d.createTextNode(o)) else if(''+o === '[object Object]') //object for(k in o) parent.setAttribute(k, o[k]) else { //array nodeRender(o, k = d.createElement(o.shift())) parent.appendChild(k) } } } window.XT = function(tplArr, docFrag) { nodeRender(tplArr.slice(), docFrag = d.createDocumentFragment()) return docFrag } }(document)