Parsing works but data are not stored in nsMutableArray
===

I am parsing an xml file , it works and show me the data parsed in the console( for example : processing value for Speller ...), but they aren't added to the msmutablearray users. Here is some code. Where is the problem ? help please : 

        - (MyData *) initXMLParser {
    	[super init];
    	// init array of user objects 
    	users = [[NSMutableArray alloc] init];
    	return self;
    }
    
    
    - (void)parser:(NSXMLParser *)parser 
    didStartElement:(NSString *)elementName 
      namespaceURI:(NSString *)namespaceURI 
     qualifiedName:(NSString *)qualifiedName 
    	attributes:(NSDictionary *)attributeDict {
    	
    	if ([elementName isEqualToString:@"user"]) {
    		NSLog(@"user element found – create a new instance of User class...");
    		user = [[User alloc] init];
    		
    	}
    }
    
    - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
    	if (!currentElementValue) {
    		// init the ad hoc string with the value     
    		currentElementValue = [[NSMutableString alloc] initWithString:string];
    	} else {
    		// append value to the ad hoc string    
    		[currentElementValue appendString:string];
    	}
    	NSLog(@"Processing value for : %@", string);
    }  
    
    - (void)parser:(NSXMLParser *)parser 
     didEndElement:(NSString *)elementName
      namespaceURI:(NSString *)namespaceURI 
     qualifiedName:(NSString *)qName {
    	
    	if ([elementName isEqualToString:@"users"]) {
    		// We reached the end of the XML document
    		return;
    	}
    	
    	if ([elementName isEqualToString:@"user"]) {
    		
    		if ([elementName isEqualToString:@"userName"]) {
    				[[self user] setUserName:currentElementValue];
    				
    			}
    			if ([elementName isEqualToString:@"firstName"]) {
    				[[self user] setFirstName:currentElementValue];
    				
    			}
    
    			if ([elementName isEqualToString:@"lastName"]) {
    				[[self user] setLastName:currentElementValue];
    				
    			}
    			
    			
    		[users addObject:user];
    	
    		
    			
    		/*comboarray = [[users arrayForKey:@"ComboBoxValues"]
    					  sortedArrayUsingSelector:@selector(compare:)];*/
    		
    		// release user object
    		[user release];
    		user = nil;
    		
    	} else {
    		
    		[user setValue:currentElementValue forKey:elementName];
    	}
    	
    	[currentElementValue release];
    	currentElementValue = nil;
    }
    -(BOOL)parseDocumentWithData:(NSData *)data {
        //NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Users" ofType:@"xml"];
    	//data = [NSData dataWithContentsOfFile:filePath];
    	
    	if (data == nil)
            return NO;
        
        // this is the parsing machine
        NSXMLParser *xmlparser = [[NSXMLParser alloc] initWithData:data];
        
        // this class will handle the events
        [xmlparser setDelegate:self];
        
    	
    	
    	[xmlparser setShouldResolveExternalEntities:NO];
    	
        // now parse the document
        BOOL ok = [xmlparser parse];
        if (ok == NO)
            NSLog(@"error");
        else
            NSLog(@"OK");
        
        [xmlparser release];
        return ok;
    }
    
    
    - (void) dealloc {
    	
    	
    	[currentElementValue release];
    	[super dealloc];
    }

