rem: if (ns=="") { 
add: if (ns) { name = item.localName; otherValue = node2.getAttributeNS(ns, name); } else { 
context: function DiffNodeAndChildren(node1, node2){  if (!node1 && !node2)    return true;  if (!node1 || !node2)    return ErrorUp("One of the nodes is null", node1, node2);  if (node1.type!=node2.type)    return ErrorUp("Different node types", node1, node2);  var attributes = node2.attributes;  if (attributes && attributes.length) {    var item, name, ns, value, otherValue;    for (var index = 0; index < attributes.length; index++) {      item = attributes.item(index);      ns = item.namespaceURI;      if (ns=="") {        name = item.nodeName;        otherValue = node2.getAttribute(name);      }      else {        name = item.localName;        otherValue = node2.getAttributeNS(ns, name);      }      value = item.nodeValue;      if (!nsreg.test(name) && otherValue!=value) {        return ErrorUp("Different values for attribute", node1, node2);      }    }  }  else if (node1.attributes && node1.attributes.length) {    return ErrorUp("Different number of attributes", node1, node2);  }  if (node1.nodeName!=node2.nodeName)    return ErrorUp("Different node names", node1, node2);  if (node1.nodeValue!=node2.nodeValue)    return ErrorUp("Different node values", node1, node2);  if (node1.namespaceURI!=node2.namespaceURI)    return ErrorUp("Different namespace", node1, node2);  if (node1.hasChildNodes() != node2.hasChildNodes())    return ErrorUp("Different children", node1, node2);  if (node1.childNodes) {    if (node1.childNodes.length != node2.childNodes.length)      return ErrorUp("Different number of children", node1, node2);    for (var child = 0; child < node1.childNodes.length; child++) {      if (!DiffNodeAndChildren(node1.childNodes[child],                               node2.childNodes[child])) {        return false;      }    }  }  return true;}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/674d745ef31e3770e0ed999a8f4ce701eac14b55/DiffDOM.js/buggy/extensions/transformiix/resources/buster/DiffDOM.js