void Basic_Content_Tester::characters (const ACEXML_Char *ch, size_t start, size_t length ACEXML_ENV_ARG_DECL) { static int already_called = 0; static const ACEXML_Char *expect = ACE_TEXT ("Example\nd'internationalisation"); if (already_called) { ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("characters() called too much\n"))); } already_called = 1; size_t expected_len = ACE_OS::strlen (expect); if (length != expected_len) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("characters() expected len %u (%*s); ") ACE_TEXT ("got %u (%*s)\n"), expected_len, expected_len, ch + start, length, length, ch + start)); ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("Functionality failure"))); } return; }
ACEXML_Exception * ACEXML_SAXException::duplicate (void) const { ACEXML_Exception *tmp; ACE_NEW_RETURN (tmp, ACEXML_SAXException (*this), 0); return tmp; }
void ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input) { if (this->setupParser () < 0) { throw ACEXML_SAXException (ACE_TEXT ("No Parent available")); } this->parent_->parse (input); }
void ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId) { if (this->setupParser () < 0) { throw ACEXML_SAXException (ACE_TEXT ("No Parent available")); } this->parent_->parse (new ACEXML_InputSource (systemId)); }
contentHandler_ (0), errorHandler_ (0) { } ACEXML_XMLFilterImpl::~ACEXML_XMLFilterImpl (void) { // @@ How are all the object lifecycles managed? } void ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL) { if (this->setupParser () < 0) { ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available"))); } this->parent_->parse (input ACEXML_ENV_ARG_PARAMETER); return; } void ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) { if (this->setupParser () < 0) { ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available"))); } this->parent_->parse (new ACEXML_InputSource (systemId) ACEXML_ENV_ARG_PARAMETER); return;