Personally, I would have argued for keeping that stuff out of the scanner and just having the DOMParser and SAXParser install a simple, default error handler that will keep a counter. It would have been less intrusive to the core code and would have worked just as well.
-------------------------- Dean Roddey The CIDLib C++ Frameworks Charmed Quark Software [EMAIL PROTECTED] http://www.charmedquark.com "Why put off until tomorrow what you can put off until the day after tomorrow?" ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, June 03, 2001 12:21 PM Subject: cvs commit: xml-xerces/c/src/internal XMLScanner.cpp XMLScanner.hpp > jberry 01/06/03 12:21:42 > > Modified: c/src/internal XMLScanner.cpp XMLScanner.hpp > Log: > Add support for tracking error count during parse; enables simple parse without requiring error handler. > > Revision Changes Path > 1.42 +13 -1 xml-xerces/c/src/internal/XMLScanner.cpp > > Index: XMLScanner.cpp > =================================================================== > RCS file: /home/cvs/xml-xerces/c/src/internal/XMLScanner.cpp,v > retrieving revision 1.41 > retrieving revision 1.42 > diff -u -r1.41 -r1.42 > --- XMLScanner.cpp 2001/05/28 20:55:02 1.41 > +++ XMLScanner.cpp 2001/06/03 19:21:39 1.42 > @@ -55,7 +55,7 @@ > */ > > /* > - * $Id: XMLScanner.cpp,v 1.41 2001/05/28 20:55:02 tng Exp $ > + * $Id: XMLScanner.cpp,v 1.42 2001/06/03 19:21:39 jberry Exp $ > */ > > > @@ -811,6 +811,9 @@ > > // And invalidate any tokens by bumping our sequence number > fSequenceId++; > + > + // Reset our error count > + fErrorCount = 0; > } > > > @@ -944,6 +947,9 @@ > // > void XMLScanner::emitError(const XMLErrs::Codes toEmit) > { > + // Bump the error count > + ++fErrorCount; > + > if (fErrorReporter) > { > // Load the message into a local for display > @@ -992,6 +998,9 @@ > , const XMLCh* const text3 > , const XMLCh* const text4) > { > + // Bump the error count > + ++fErrorCount; > + > if (fErrorReporter) > { > // > @@ -1043,6 +1052,9 @@ > , const char* const text3 > , const char* const text4) > { > + // Bump the error count > + ++fErrorCount; > + > if (fErrorReporter) > { > // > > > > 1.20 +13 -0 xml-xerces/c/src/internal/XMLScanner.hpp > > Index: XMLScanner.hpp > =================================================================== > RCS file: /home/cvs/xml-xerces/c/src/internal/XMLScanner.hpp,v > retrieving revision 1.19 > retrieving revision 1.20 > diff -u -r1.19 -r1.20 > --- XMLScanner.hpp 2001/05/28 20:55:02 1.19 > +++ XMLScanner.hpp 2001/06/03 19:21:40 1.20 > @@ -56,6 +56,9 @@ > > /* > * $Log: XMLScanner.hpp,v $ > + * Revision 1.20 2001/06/03 19:21:40 jberry > + * Add support for tracking error count during parse; enables simple parse without requiring error handler. > + * > * Revision 1.19 2001/05/28 20:55:02 tng > * Schema: allocate a fDTDValidator, fSchemaValidator explicitly to avoid wrong cast > * > @@ -301,6 +304,7 @@ > bool getStandalone() const; > const XMLValidator* getValidator() const; > XMLValidator* getValidator(); > + int getErrorCount(); > const DTDEntityDecl* getEntityDecl > ( > const XMLCh* const entName > @@ -701,6 +705,9 @@ > // This is the currently set validation scheme. It defaults to > // 'never', but can be set by the client. > // > + // fErrorCount > + // The number of errors we've encountered. > + // > // fDoSchema > // This flag indicates whether the client code wants Schema to > // be processed or not. > @@ -783,6 +790,7 @@ > SchemaValidator* fSchemaValidator; > bool fValidatorFromUser; > ValSchemes fValScheme; > + int fErrorCount; > bool fDoSchema; > bool fSeeXsi; > > @@ -914,6 +922,11 @@ > inline bool XMLScanner::getDoSchema() const > { > return fDoSchema; > +} > + > +inline int XMLScanner::getErrorCount() > +{ > + return fErrorCount; > } > > inline bool XMLScanner::isValidatorFromUser() > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >