introduced AbstractXmlParser. resolves #22