void XMLReader::startElement(const string &name, const XMLAttributes &attrs) {
  LOG_DEBUG(5, __FUNCTION__ << "(" << name << ", " << attrs.toString() << ")");

  depth++;

  XMLHandlerFactory *factory = getFactory(name);
  if (factory) {
    push(factory->getHandler(*this, attrs), factory);
    LOG_DEBUG(5, "XMLReader pushed " << name << " handler");
  } else get().startElement(name, attrs);
}