00001 /* 00002 * Copyright 1999-2000,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: SAXParseException.hpp,v $ 00019 * Revision 1.7 2004/09/08 13:56:19 peiyongz 00020 * Apache License Version 2.0 00021 * 00022 * Revision 1.6 2003/12/01 23:23:26 neilg 00023 * fix for bug 25118; thanks to Jeroen Witmond 00024 * 00025 * Revision 1.5 2003/08/13 15:43:24 knoaman 00026 * Use memory manager when creating SAX exceptions. 00027 * 00028 * Revision 1.4 2003/05/15 18:27:05 knoaman 00029 * Partial implementation of the configurable memory manager. 00030 * 00031 * Revision 1.3 2002/11/04 14:56:26 tng 00032 * C++ Namespace Support. 00033 * 00034 * Revision 1.2 2002/05/27 18:33:07 tng 00035 * To get ready for 64 bit large file, use XMLSSize_t to represent line and column number. 00036 * 00037 * Revision 1.1.1.1 2002/02/01 22:22:08 peiyongz 00038 * sane_include 00039 * 00040 * Revision 1.5 2000/02/24 20:12:55 abagchi 00041 * Swat for removing Log from API docs 00042 * 00043 * Revision 1.4 2000/02/12 01:27:19 aruna1 00044 * Documentation updated 00045 * 00046 * Revision 1.3 2000/02/09 19:24:49 abagchi 00047 * Inserted documentation for constructors and destructors 00048 * 00049 * Revision 1.2 2000/02/06 07:47:58 rahulj 00050 * Year 2K copyright swat. 00051 * 00052 * Revision 1.1.1.1 1999/11/09 01:07:47 twl 00053 * Initial checkin 00054 * 00055 * Revision 1.2 1999/11/08 20:45:02 rahul 00056 * Swat for adding in Product name and CVS comment log variable. 00057 * 00058 */ 00059 00060 00061 #ifndef SAXPARSEEXCEPTION_HPP 00062 #define SAXPARSEEXCEPTION_HPP 00063 00064 #include <xercesc/sax/SAXException.hpp> 00065 00066 XERCES_CPP_NAMESPACE_BEGIN 00067 00068 class Locator; 00069 00087 class SAXParseException : public SAXException 00088 { 00089 public: 00106 SAXParseException(const XMLCh* const message, const Locator& locator, 00107 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); 00108 00109 00131 SAXParseException 00132 ( 00133 const XMLCh* const message 00134 , const XMLCh* const publicId 00135 , const XMLCh* const systemId 00136 , const XMLSSize_t lineNumber 00137 , const XMLSSize_t columnNumber 00138 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager 00139 ); 00140 00146 SAXParseException(const SAXParseException& toCopy); 00147 00151 ~SAXParseException(); 00152 00154 00163 SAXParseException& operator=(const SAXParseException& toAssign); 00165 00177 XMLSSize_t getColumnNumber() const; 00185 XMLSSize_t getLineNumber() const; 00193 const XMLCh* getPublicId() const; 00204 const XMLCh* getSystemId() const; 00206 00207 private: 00208 /* Data Members */ 00209 00210 /* The column in the source text where the error occured. */ 00211 XMLSSize_t fColumnNumber; 00212 /* The line in the source text where the error occured. */ 00213 XMLSSize_t fLineNumber; 00214 /* The public id of the file where the error occured. */ 00215 XMLCh* fPublicId; 00216 /* The system id of the file where the error occured. */ 00217 XMLCh* fSystemId; 00218 00219 00220 }; 00221 00222 XERCES_CPP_NAMESPACE_END 00223 00224 #endif