public void startElement(String uri, String localName, String qName, Attributes attributes) 
				throws FileFormatException {
			if(qName.equals("bmoviesender")) {
				// ignore
			}
			else if(qName.equals("sender")) {
				String movie = attributes.getValue("movie");
				if(movie == null) {
					throw new FileFormatException("movie is not specified", locator.getLineNumber(), locator.getColumnNumber());					
				}
				String host = attributes.getValue("host");
				if(host == null) {
					throw new FileFormatException("host must be specified", locator.getLineNumber(), locator.getColumnNumber());
				}
				String val = attributes.getValue("port");
				if(val == null) {
					throw new FileFormatException("port must be specified", locator.getLineNumber(), locator.getColumnNumber());
				}
				int port = 0;
				try {
					port = Integer.parseInt(val);
				} catch(NumberFormatException e) {
					throw new FileFormatException("number format exception", locator.getLineNumber(), locator.getColumnNumber());
				}
				val = attributes.getValue("loop");
				if(val == null) {
					throw new FileFormatException("loop must be specified", locator.getLineNumber(), locator.getColumnNumber());					
				}
				boolean loop = Boolean.parseBoolean(val);
				try {
					senders.add(new BMovieSender(movie, host, port, loop));
				} catch (BMovieException e) {
					throw new FileFormatException(locator.getLineNumber(), locator.getColumnNumber(), e);
				}
			}
			else {
				System.err.println("unrecognised entity: " + qName);
			}
		}