diff options
Diffstat (limited to 'src/support/error_handler.cc')
-rw-r--r-- | src/support/error_handler.cc | 47 |
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()); } |