aboutsummaryrefslogtreecommitdiff
path: root/src/support/error_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/support/error_handler.cc')
-rw-r--r--src/support/error_handler.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/support/error_handler.cc b/src/support/error_handler.cc
new file mode 100644
index 0000000..9a898a6
--- /dev/null
+++ b/src/support/error_handler.cc
@@ -0,0 +1,43 @@
+#include "error_handler.h"
+
+#include <xercesc/sax/SAXParseException.hpp>
+
+#include <iostream>
+
+#include "support/xerces_string_guard.h"
+
+namespace InputXSLT {
+
+ErrorHandler::ErrorHandler(const std::string& transformation):
+ transformation_path_(transformation) { }
+
+void ErrorHandler::warning(const xercesc::SAXParseException& e) {
+ std::cerr << "Warning in "
+ << "'"
+ << this->transformation_path_
+ << "': "
+ << *XercesStringGuard<char>(e.getMessage())
+ << std::endl;
+}
+
+void ErrorHandler::error(const xercesc::SAXParseException& e) {
+ std::cerr << "Error in "
+ << "'"
+ << this->transformation_path_
+ << "': "
+ << *XercesStringGuard<char>(e.getMessage())
+ << std::endl;
+}
+
+void ErrorHandler::fatalError(const xercesc::SAXParseException& e) {
+ std::cerr << "Fatal error in "
+ << "'"
+ << this->transformation_path_
+ << "': "
+ << *XercesStringGuard<char>(e.getMessage())
+ << std::endl;
+}
+
+void ErrorHandler::resetErrors() { }
+
+}