示例#1
0
    void Document::parse(const char *inXMLDocument)
    {
      ZS_THROW_INVALID_ARGUMENT_IF(!inXMLDocument)

      mSOF = inXMLDocument;
      ParserPos pos(*this);

      clearStack();
      clearWarnings();

      while (*pos)
      {
        if (Parser::parseAnyExceptElement(pos, mThis.lock()))
          continue;

        // check if this is an element
        if (Parser::isLegalName(*(pos+1), true))
        {
          // this is an element
          ElementPtr element = XML::Element::create();
          adoptAsLastChild(element);
          element->parse(pos);
          continue;
        }

        Parser::skipMismatchedEndTag(pos);
      }

      clearStack();
    }
/* {{{ MySQL_Connection::close() -I- */
void
MySQL_Connection::close()
{
	CPP_ENTER_WL(intern->logger, "MySQL_Connection::close");
	checkClosed();
	proxy.reset();
	clearWarnings();
	intern->is_valid = false;
}
/* {{{ MySQL_Connection::getWarnings() -I- */
const SQLWarning *
MySQL_Connection::getWarnings()
{
	CPP_ENTER_WL(intern->logger, "MySQL_Connection::getWarnings");
	checkClosed();

	clearWarnings();

	intern->warnings.reset(loadMysqlWarnings(this));

	return intern->warnings.get();
}