@Override
	public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
		if (qName.equals("intelligenceBonus"))
			attributeEnhancer = new IntelligenceBonus();
		else if (qName.equals("memoryBonus"))
			attributeEnhancer = new MemoryBonus();
		else if (qName.equals("charismaBonus"))
			attributeEnhancer = new CharismaBonus();
		else if (qName.equals("perceptionBonus"))
			attributeEnhancer = new PerceptionBonus();
		else if (qName.equals("row")) {
			ApiSkill skill = new ApiSkill();
			skill.setTypeID(getInt(attrs, "typeID"));
			Integer level = getInt(attrs, "level");
			if (level != null)
				skill.setLevel(level);
			skill.setSkillpoints(getInt(attrs, "skillpoints"));
			skill.setUnpublished(getBoolean(attrs, "unpublished"));
			response.addSkill(skill);
		}

		super.startElement(uri, localName, qName, attrs);
		accumulator.setLength(0);
	}