00001 #ifndef _FL_XML_H_ 00002 #define _FL_XML_H_ 00003 00004 #include "../Fl_Export.h" 00005 #include "../Fl_Map.h" 00006 00007 #include "Fl_XmlDoc.h" 00008 #include "Fl_XmlNode.h" 00009 #include "Fl_XmlParser.h" 00010 #include "Fl_XmlTokenizer.h" 00011 00016 00022 class FL_API Fl_XmlException 00023 { 00024 public: 00028 enum ErrorCodes { 00029 NO_ERROR = 0, 00030 UNKNOWN, 00031 OPENTAG_EXPECTED, 00032 OPENTAG_CDATA_EXPECTED, 00033 CLOSETAG_EXPECTED, 00034 PI_DOCTYPE_EXPECTED, 00035 TAGNAME_EXPECTED, 00036 COMMENT_START_EXPECTED, 00037 COMMENT_END_MISSING, 00038 SLASH_EXPECTED, 00039 TAGNAME_MISMATCH, 00040 EQUAL_EXPECTED, 00041 VALUE_EXPECTED 00042 }; 00043 00049 Fl_XmlException(int error, Fl_XmlLocator *locator) : m_locator(locator), m_error(error) { } 00050 00055 Fl_String text(bool short_version=false) const; 00056 00060 int error() const { return m_error; } 00061 00066 Fl_XmlLocator *locator() const { return m_locator; } 00067 00071 static const char *error_string(int error); 00072 00073 private: 00074 Fl_XmlLocator *m_locator; 00075 int m_error; 00076 }; 00077 00078 #define FL_XML_NO_ERROR Fl_XmlException::NO_ERROR 00079 #define FL_XML_UNKNOWN Fl_XmlException::UNKNOWN 00080 #define FL_XMP_OPENTAG_EXPECTED Fl_XmlException::OPENTAG_EXPECTED 00081 #define FL_XML_OPENTAG_EXPECTED Fl_XmlException::OPENTAG_EXPECTED 00082 #define FL_XML_OPENTAG_CDATA_EXPECTED Fl_XmlException::OPENTAG_CDATA_EXPECTED 00083 #define FL_XML_CLOSETAG_EXPECTED Fl_XmlException::CLOSETAG_EXPECTED 00084 #define FL_XML_PI_DOCTYPE_EXPECTED Fl_XmlException::PI_DOCTYPE_EXPECTED 00085 #define FL_XML_TAGNAME_EXPECTED Fl_XmlException::TAGNAME_EXPECTED 00086 #define FL_XML_COMMENT_START_EXPECTED Fl_XmlException::COMMENT_START_EXPECTED 00087 #define FL_XML_COMMENT_END_MISSING Fl_XmlException::COMMENT_END_MISSING 00088 #define FL_XML_SLASH_EXPECTED Fl_XmlException::SLASH_EXPECTED 00089 #define FL_XML_TAGNAME_MISMATCH Fl_XmlException::TAGNAME_MISMATCH 00090 #define FL_XML_EQUAL_EXPECTED Fl_XmlException::EQUAL_EXPECTED 00091 #define FL_XML_VALUE_EXPECTED Fl_XmlException::VALUE_EXPECTED 00092 00095 #endif