rem: }; 
add: } 
context: qx.Proto._buildWidgetFromNode = function(parent, node) {  var className = this._extractClassName(node);  if (!className) {    throw this._newBuildError("unrecognised node", {nodeName:node.nodeName});  };  if (className == "QxWidgets") {    // generic container node to allow xml to contain multiple toplevel nodes    this._buildNodes(parent, node.childNodes);    return;  };  if (className == "QxScript") {    var e = document.createElement("script");    var attribs = this._mapXmlAttribToObject(node);    if (attribs.type) {      e.type = attribs.type;    }    else {      e.type='text/javascript';    };    // e.innerHTML = node.firstChild.nodeValue;    // fix for Internet Explorer by Cristian Bica    if (qx.sys.Client.isMshtml())    {      e.innerHTML = eval(node.firstChild.nodeValue);    }    else    {      e.innerHTML = node.firstChild.nodeValue;    };    document.body.appendChild(e);    return;  };  if (className == "qx.event.type.EventListener") {    var attribs = this._mapXmlAttribToObject(node);    var text;    if (node.firstChild) {      text = node.firstChild.nodeValue;    };    this._buildEventListener(parent, attribs, text);    return;  };  var classConstructor = window[className];  if (!classConstructor) {    throw this._newBuildError("constructor not found", {className:className});  };  // construct the widget instance - using the default constructor  var widget = new classConstructor();  var attribs = this._mapXmlAttribToObject(node, widget);  delete attribs['qxtype'];  var dummyWidget = attribs.id && attribs.id.indexOf(qx.constant.Core.UNDERLINE) == 0;  if (attribs.id) {    // register a global refrence for this widget    window[attribs.id] = widget;    delete attribs.id;  };  // convert any on??  attribs into event listeners  for (var a in attribs) {    if (a.toLowerCase().indexOf('on') == 0 && a.length > 2) {      // there may be issues here for XHTML based attributes - due to their case      var type = a.substring(2);      type = type.charAt(0) + type.substring(1);      this._buildEventListener(widget, {type:type,args:'event'}, attribs[a]);      delete attribs[a];    };  };  for (var n in attribs) {    this._debugContext.push("@" + n);    this._setWidgetProperty(widget, n, attribs[n]);    this._debugContext.pop();  };  if(!dummyWidget) {    parent.add(widget);  }  // recurse to all of the nodes children, using the newly created widget as the parent  this._buildNodes(widget, node.childNodes);};
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/5b1a09c4ca80efdfbd41063412dd526cf7e711df/Builder.js/buggy/qooxdoo/source/script/qx/client/Builder.js