rem: if (kid.tagName == 'BODY') { 
add: if (kid.tagName.toLowerCase()=='body') { 
context:     this._convertNodes = function(ownerdoc, htmlnode, xhtmlparent, permitted) {        var parentnode = xhtmlparent;        var nodename = this._getTagName(htmlnode);        var nostructure = !this.filterstructure;        // TODO: This permits valid tags anywhere. it should use the state        // table in xhtmlvalid to only permit tags where the XHTML DTD        // says they are valid.        var validattrs = this.tagAttributes[nodename];        if (validattrs && (nostructure || permitted[nodename])) {            try {                var xhtmlnode = ownerdoc.createElement(nodename);                parentnode = xhtmlnode;            } catch (e) { };                        if (validattrs && xhtmlnode) {                this._copyAttributes(htmlnode, xhtmlnode, validattrs);            }        }        var kids = htmlnode.childNodes;        var permittedChildren = this.States[parentnode.tagName] || permitted;        if (kids.length == 0) {            if (htmlnode.text && htmlnode.text != "" &&                (nostructure || permittedChildren['#text'])) {                var text = htmlnode.text;                var tnode = ownerdoc.createTextNode(text);                parentnode.appendChild(tnode);            }        } else {            for (var i = 0; i < kids.length; i++) {                var kid = kids[i];                if (kid.parentNode !== htmlnode) {                    if (kid.tagName == 'BODY') {                        if (nodename != 'html') continue;                    } else if (kid.parentNode.tagName === htmlnode.tagName) {                        continue; // IE bug: nodes appear multiple places                    }                }                                if (kid.nodeType == 1) {                    var newkid = this._convertNodes(ownerdoc, kid, parentnode, permittedChildren);                    if (newkid != null) {                        parentnode.appendChild(newkid);                    };                } else if (kid.nodeType == 3) {                    if (nostructure || permittedChildren['#text']) {                        parentnode.appendChild(ownerdoc.createTextNode(kid.nodeValue));                    }                } else if (kid.nodeType == 4) {                    if (nostructure || permittedChildren['#text']) {                        parentnode.appendChild(ownerdoc.createCDATASection(kid.nodeValue));                    }                }            }        }         return xhtmlnode;    };
meta: 2380	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2380/2d8706428efbec3e2798eaafec7205a7efd24de6/kupucontentfilters.js/buggy/kupu/common/kupucontentfilters.js