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.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/support/error_handler.cc b/src/support/error_handler.cc
index db54225..2ca721d 100644
--- a/src/support/error_handler.cc
+++ b/src/support/error_handler.cc
@@ -4,6 +4,7 @@
#include <iostream>
+#include "support/xalan_string.h"
#include "support/xerces_string_guard.h"
namespace {
@@ -47,6 +48,52 @@ void ErrorHandler::fatalError(const xercesc::SAXParseException& exception) {
void ErrorHandler::resetErrors() { }
+void ErrorHandler::problem(
+ xalan::ProblemListenerBase::eSource,
+ xalan::ProblemListenerBase::eClassification,
+ const xalan::XalanDOMString& message,
+ const xalan::Locator*,
+ const xalan::XalanNode*
+) {
+ this->constructErrorCache();
+
+ this->error_cache_->emplace_back(
+ "XSLT problem: " + toString(message)
+ );
+}
+
+void ErrorHandler::problem(
+ xalan::ProblemListenerBase::eSource,
+ xalan::ProblemListenerBase::eClassification,
+ const xalan::XalanNode*,
+ const xalan::ElemTemplateElement*,
+ const xalan::XalanDOMString& message,
+ const xalan::XalanDOMChar*,
+ xalan::XalanFileLoc,
+ xalan::XalanFileLoc
+) {
+ this->constructErrorCache();
+
+ this->error_cache_->emplace_back(
+ "XSLT problem: " + toString(message)
+ );
+}
+
+void ErrorHandler::problem(
+ xalan::ProblemListenerBase::eSource,
+ xalan::ProblemListenerBase::eClassification,
+ const xalan::XalanDOMString& message,
+ const xalan::XalanNode*
+) {
+ this->constructErrorCache();
+
+ this->error_cache_->emplace_back(
+ "XSLT problem: " + toString(message)
+ );
+}
+
+void ErrorHandler::setPrintWriter(xalan::PrintWriter*) { }
+
auto ErrorHandler::getCachedErrors() -> error_cache_ptr {
return error_cache_ptr(this->error_cache_.release());
}