	getValues: function(/* item */ item, /* attribute || attribute-name-string */ attribute){		//	summary:		//		Return an array of attribute values		//	description:		//		'item' must be an XML element.		//		If 'attribute' specifies "tagName", the tag name of the element is		//		returned.		//		If 'attribute' specifies "childNodes", child elements are returned.		//		If 'attribute' specifies "text()", the values of child text nodes		//		are 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, child elements of the tag name specified with		//		'attribute' are returned.		//	item:		//		An XML element that holds the attribute		//	attribute:		//		A tag name of child elements, An XML attribute name or one of		//		special names		//	returns:		//		An array of attribute values found, otherwise an empty array		var element = item.element;		if(attribute === "tagName"){			return [element.nodeName];		}else if(attribute === "childNodes"){			var values = [];			for(var i = 0; i < element.childNodes.length; i++){				var node = element.childNodes[i];				if(node.nodeType === 1 /*ELEMENT_NODE*/){					values.push(this._getItem(node));				}			}			return values; //array		}else if(attribute === "text()"){			var values = [];			for(var i = 0; i < element.childNodes.length; i++){				var node = childNodes[i];				if(node.nodeType === 3){					values.push(node.nodeValue);				}			}			return values; //array		}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] : []; //array			}else{				var values = [];				for(var i = 0; i < element.childNodes.length; i++){					var node = element.childNodes[i];					if(	node.nodeType === 1 /*ELEMENT_NODE*/ &&						node.nodeName === attribute){						values.push(this._getItem(node));					}				}				return values; //array			}		}	},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/245dfaf99d2c4476bafca2d2cd0f476efa6cc8a2/XmlStore.js/buggy/data/XmlStore.js