Filtering XML with multiple conditions

I am trying to filter xml data based on a varying amount of factors, both category and range (code below).
Is it even possible to put more than one conditional statement in an XML filter?
Thanks in advance for any help or tips!
Cheers,
James

var l_results:XMLList = xml.products.product;	
			
			// testing
			currentRanges = ["floss", "envy", "cool", "moon"];//
			currentCategory = "Eraser";			
			
			var v_rangeCount:uint = currentRanges.length;
						
			if (currentCategory != "all"){
				l_results = l_results.(category == currentCategory);
				
			}			
			
			switch(v_rangeCount) {
				
				case 1:
					l_results = l_results.(range == currentRanges[0]);
					trace(v_rangeCount);
					break;
				
				case 2:
					l_results = l_results.(range == currentRanges[0] || currentRanges[1]);
					trace(v_rangeCount);
					break;
				
				case 3:
					l_results = l_results.(range == (currentRanges[0] && currentRanges[1] && currentRanges[2]));
					trace(v_rangeCount);
					
					break;
				case 4:
					l_results = l_results.(range == (currentRanges[0] && currentRanges[1] && currentRanges[2] && currentRanges[3]));
					trace(v_rangeCount);
					
					break;
				default:
					//
				
			}