http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XMLErrorReporter.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2001,2004 The Apache Software Foundation.
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017  /*
00018   * $Log: XMLErrorReporter.hpp,v $
00019   * Revision 1.7  2004/09/08 13:55:59  peiyongz
00020   * Apache License Version 2.0
00021   *
00022   * Revision 1.6  2003/03/07 18:08:10  tng
00023   * Return a reference instead of void for operator=
00024   *
00025   * Revision 1.5  2002/12/04 02:32:43  knoaman
00026   * #include cleanup.
00027   *
00028   * Revision 1.4  2002/11/04 15:00:21  tng
00029   * C++ Namespace Support.
00030   *
00031   * Revision 1.3  2002/05/27 18:34:59  tng
00032   * To get ready for 64 bit large file, use XMLSSize_t to represent line and column number.
00033   *
00034   * Revision 1.2  2002/02/20 18:17:01  tng
00035   * [Bug 5977] Warnings on generating apiDocs.
00036   *
00037   * Revision 1.1.1.1  2002/02/01 22:21:51  peiyongz
00038   * sane_include
00039   *
00040   * Revision 1.11  2001/05/11 13:25:32  tng
00041   * Copyright update.
00042   *
00043   * Revision 1.10  2001/05/03 19:08:56  knoaman
00044   * Support Warning/Error/FatalError messaging.
00045   * Validity constraints errors are treated as errors, with the ability by user to set
00046   * validity constraints as fatal errors.
00047   *
00048   * Revision 1.9  2000/12/14 18:49:57  tng
00049   * Fix API document generation warning: "Warning: end of member group without matching begin"
00050   *
00051   * Revision 1.8  2000/03/02 19:54:25  roddey
00052   * This checkin includes many changes done while waiting for the
00053   * 1.1.0 code to be finished. I can't list them all here, but a list is
00054   * available elsewhere.
00055   *
00056   * Revision 1.7  2000/02/24 20:00:23  abagchi
00057   * Swat for removing Log from API docs
00058   *
00059   * Revision 1.6  2000/02/16 23:03:48  roddey
00060   * More documentation updates
00061   *
00062   * Revision 1.5  2000/02/16 21:42:58  aruna1
00063   * API Doc++ summary changes in
00064   *
00065   * Revision 1.4  2000/02/15 23:59:07  roddey
00066   * More updated documentation of Framework classes.
00067   *
00068   * Revision 1.3  2000/02/15 01:21:31  roddey
00069   * Some initial documentation improvements. More to come...
00070   *
00071   * Revision 1.2  2000/02/06 07:47:48  rahulj
00072   * Year 2K copyright swat.
00073   *
00074   * Revision 1.1.1.1  1999/11/09 01:08:34  twl
00075   * Initial checkin
00076   *
00077   * Revision 1.2  1999/11/08 20:44:39  rahul
00078   * Swat for adding in Product name and CVS comment log variable.
00079   *
00080   */
00081 
00082 
00083 #if !defined(XMLERRORREPORTER_HPP)
00084 #define XMLERRORREPORTER_HPP
00085 
00086 #include <xercesc/util/XercesDefs.hpp>
00087 
00088 XERCES_CPP_NAMESPACE_BEGIN
00089 
00090 
00103 class  XMLErrorReporter
00104 {
00105 public:
00106     // -----------------------------------------------------------------------
00107     //  The types of errors we can issue
00108     // -----------------------------------------------------------------------
00109     enum ErrTypes
00110     {
00111         ErrType_Warning
00112         , ErrType_Error
00113         , ErrType_Fatal
00114 
00115         , ErrTypes_Unknown
00116     };
00117 
00118 
00119     // -----------------------------------------------------------------------
00120     //  Constructors are hidden, only the virtual destructor is exposed
00121     // -----------------------------------------------------------------------
00122 
00125 
00129     virtual ~XMLErrorReporter()
00130     {
00131     }
00133 
00134 
00135     // -----------------------------------------------------------------------
00136     //  The error handler interface
00137     // -----------------------------------------------------------------------
00138 
00141 
00177     virtual void error
00178     (
00179         const   unsigned int        errCode
00180         , const XMLCh* const        errDomain
00181         , const ErrTypes            type
00182         , const XMLCh* const        errorText
00183         , const XMLCh* const        systemId
00184         , const XMLCh* const        publicId
00185         , const XMLSSize_t          lineNum
00186         , const XMLSSize_t          colNum
00187     ) = 0;
00188 
00195     virtual void resetErrors() = 0;
00196 
00198 
00199 
00200 protected :
00201 
00204 
00208     XMLErrorReporter()
00209     {
00210     }
00212 
00213 private:
00214     // -----------------------------------------------------------------------
00215     //  Unimplemented constructors and destructor
00216     // -----------------------------------------------------------------------
00217     XMLErrorReporter(const XMLErrorReporter&);
00218     XMLErrorReporter& operator=(const XMLErrorReporter&);
00219 };
00220 
00221 XERCES_CPP_NAMESPACE_END
00222 
00223 #endif


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.