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