	newItem: function(/* object? */ keywordArgs){		//	summary:		//		Return a new XML element		//	description:		//		At least, 'keywordArgs' must contain "tagName" to be used for		//		the new	element.		//		Other attributes in 'keywordArgs' are set to the new element,		//		including "text()", but excluding "childNodes".		// 	keywordArgs:		//		An object containing initial attributes		//	returns:		//		An XML element		console.log("XmlStore.newItem()");		keywordArgs = (keywordArgs || {});		var tagName = keywordArgs.tagName;		if(!tagName){			tagName = this._rootItem;			if(!tagName){				return null;			}		}		var document = this._getDocument();		var element = document.createElement(tagName);		for(var attribute in keywordArgs){			if(attribute === "tagName"){				continue;			}else if(attribute === "text()"){				var text = document.createTextNode(keywordArgs[attribute]);				element.appendChild(text);			}else{				attribute = this._getAttribute(tagName, attribute);				if(attribute.charAt(0) === '@'){					var name = attribute.substring(1);					element.setAttribute(name, keywordArgs[attribute]);				}else{					var child = document.createElement(attribute);					var text = document.createTextNode(keywordArgs[attribute]);					child.appendChild(text);					element.appendChild(child);				}			}		}		var item = this._getItem(element);		this._newItems.push(item);		return item; //object	},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/245dfaf99d2c4476bafca2d2cd0f476efa6cc8a2/XmlStore.js/buggy/data/XmlStore.js