	getValue: function(/* item */ item, /* attribute || attribute-name-string */ attribute, /* value? */ defaultValue){		//	summary:		//		Return an attribute value		//	description:		//		'item' must be an XML element.		//		If 'attribute' specifies "tagName", the tag name of the element is		//		returned.		//		If 'attribute' specifies "childNodes", the first element child is		//		returned.		//		If 'attribute' specifies "text()", the value of the first text		//		child is returned.		//		For generic attributes, if '_attributeMap' is specified,		//		an actual attribute name is looked up with the tag name of		//		the element and 'attribute' (concatenated with '.').		//		Then, if 'attribute' starts with "@", the value of the XML		//		attribute is returned.		//		Otherwise, the first child element of the tag name specified with		//		'attribute' is returned.		//	item:		//		An XML element that holds the attribute		//	attribute:		//		A tag name of a child element, An XML attribute name or one of		// 		special names		//	defaultValue:		//		A default value		//	returns:		//		An attribute value found, otherwise 'defaultValue'		var element = item.element;		if(attribute === "tagName"){			return element.nodeName;		}else if (attribute === "childNodes"){			for (var i = 0; i < element.childNodes.length; i++) {				var node = element.childNodes[i];				if (node.nodeType === 1 /*ELEMENT_NODE*/) {					return this._getItem(node); //object				}			}			return defaultValue;		}else if(attribute === "text()"){			for(var i = 0; i < element.childNodes.length; i++){				var node = element.childNodes[i];				if(node.nodeType === 3 /*TEXT_NODE*/ ||					node.nodeType === 4 /*CDATA_SECTION_NODE*/){					return node.nodeValue; //string				}			}			return defaultValue;		}else{			attribute = this._getAttribute(element.nodeName, attribute);			if(attribute.charAt(0) === '@'){				var name = attribute.substring(1);				var value = element.getAttribute(name);				return (value !== undefined) ? value : defaultValue; //object			}else{				for(var i = 0; i < element.childNodes.length; i++){					var node = element.childNodes[i];					if(	node.nodeType === 1 /*ELEMENT_NODE*/ &&						node.nodeName === attribute){						return this._getItem(node); //object					}				}				return defaultValue; //object			}		}	},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/245dfaf99d2c4476bafca2d2cd0f476efa6cc8a2/XmlStore.js/buggy/data/XmlStore.js