rem: function getAttribute(self, node, namespaceURI, namespaceIdentifier, localName) { 
add: function getAttribute(self, node, localName, namespaceURI, namespaceIdentifier) { 
context:     function getAttribute(self, node, namespaceURI, namespaceIdentifier, localName) {        if (node.hasAttributeNS) {            if (node.hasAttributeNS(namespaceURI, localName)) {                return node.getAttributeNS(namespaceURI, localName);            } else if (node.hasAttributeNS(namespaceIdentifier, localName)) {                return node.getAttributeNS(namespaceIdentifier, localName);            }        }        if (node.hasAttribute) {            var r = namespaceURI + ':' + localName;            if (node.hasAttribute(r)) {                return node.getAttribute(r);            }        }        if (node.getAttribute) {            var s = namespaceIdentifier + ':' + localName;            try {                return node.getAttribute(s);            } catch(err) {                // IE has a stupid bug where getAttribute throws an error ... on                // TABLE elements and perhaps other elememnt types!                // Resort to looking in the attributes.                var value = node.attributes[s];                if(value != null) {                    return value.nodeValue;                }            }        }        return null;    },
meta: 1565	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1565/a605ae3eac00a8c52043b2a49c4d21cd765b897a/runtime.js/buggy/nevow/runtime.js