public void startElement(
		String uri, String localName, String qName, Attributes attrs
	) throws SAXException {
		if (qName.equals("name") || qName.equals("info")) {
			buf = new StringBuffer(50);
			return;
		}

		if (qName.equals("hash")) {
			if (file != null) {
				HCHash hash = new HCHash(
					attrs.getValue("length"),
					attrs.getValue("MD5"),
					attrs.getValue("SHA1"));
				file.addHash(hash);
			}
			return;
		}

		if (qName.equals("file")) {
			if (archive != null) {
				file = new HCFile(attrs.getValue("location"));
				archive.addFile(file);
			}
			return;
		}

		if (qName.equals("archive")) {
			if (catalog != null) {
				archive = new HCArchive(attrs.getValue("id"));
				catalog.addArchive(archive);
			}
			return;
		}

		if (qName.equals("catalog")) {
			catalog = new HCCatalog(attrs.getValue("id"));
			return;
		}
	}