00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _SCHEMAVALIDATOR_H
00009 #define _SCHEMAVALIDATOR_H
00010
00011 #include <libxml/xmlreader.h>
00012 #include <libxml/xmlschemas.h>
00013 #include <string>
00014
00015 namespace libgexf {
00016
00020 class SchemaValidator {
00021 public:
00022 SchemaValidator();
00023
00027 SchemaValidator(const SchemaValidator& orig);
00028
00029 virtual ~SchemaValidator();
00030
00039 static bool run(const std::string& xml_file_pathname, const std::string& xml_schema_file_pathname);
00040 private:
00041 static void schemaErrorCallback(void*, const char* const msg, xmlParserSeverities severity, xmlTextReaderLocatorPtr locator);
00042 static void schemaWarningCallback(void* callbackData, const char* const msg, xmlParserSeverities severity, xmlTextReaderLocatorPtr locator);
00043 virtual void iAmAbstract() = 0;
00044 };
00045
00046 }
00047
00048 #endif
00049