diff options
Diffstat (limited to 'src/support/error_capacitor.cc')
-rw-r--r-- | src/support/error_capacitor.cc | 65 |
1 files changed, 41 insertions, 24 deletions
diff --git a/src/support/error_capacitor.cc b/src/support/error_capacitor.cc index e83ba9a..1a536ed 100644 --- a/src/support/error_capacitor.cc +++ b/src/support/error_capacitor.cc @@ -2,6 +2,8 @@ #include <xercesc/sax/SAXParseException.hpp> +#include <xalanc/PlatformSupport/DOMStringPrintWriter.hpp> + #include <iostream> #include "support/xalan_string.h" @@ -58,42 +60,57 @@ void ErrorCapacitor::fatalError(const xercesc::SAXParseException& exception) { void ErrorCapacitor::resetErrors() { } void ErrorCapacitor::problem( - xalan::ProblemListenerBase::eSource, - xalan::ProblemListenerBase::eClassification, - const xalan::XalanDOMString& message, - const xalan::Locator*, - const xalan::XalanNode* + xalan::ProblemListenerBase::eSource source, + xalan::ProblemListenerBase::eClassification classification, + const xalan::XalanDOMString& message, + const xalan::Locator* locator, + const xalan::XalanNode* node ) { - this->error_cache_->emplace_back( - "XSLT problem: " + toString(message) + xalan::XalanDOMString problemSummary; + xalan::DOMStringPrintWriter writer(problemSummary); + + defaultFormat( + writer, + source, + classification, + message, + locator, + node ); + + this->error_cache_->emplace_back(toString(problemSummary)); } void ErrorCapacitor::problem( - xalan::ProblemListenerBase::eSource, - xalan::ProblemListenerBase::eClassification, - const xalan::XalanNode*, - const xalan::ElemTemplateElement*, - const xalan::XalanDOMString& message, - const xalan::XalanDOMChar*, - xalan::XalanFileLoc, - xalan::XalanFileLoc + xalan::ProblemListenerBase::eSource source, + xalan::ProblemListenerBase::eClassification classification, + const xalan::XalanDOMString& message, + const xalan::XalanNode* node ) { - this->error_cache_->emplace_back( - "XSLT problem: " + toString(message) + xalan::XalanDOMString problemSummary; + xalan::DOMStringPrintWriter writer(problemSummary); + + defaultFormat( + writer, + source, + classification, + message, + node ); + + this->error_cache_->emplace_back(toString(problemSummary)); } void ErrorCapacitor::problem( xalan::ProblemListenerBase::eSource, xalan::ProblemListenerBase::eClassification, - const xalan::XalanDOMString& message, - const xalan::XalanNode* -) { - this->error_cache_->emplace_back( - "XSLT problem: " + toString(message) - ); -} + const xalan::XalanNode*, + const xalan::ElemTemplateElement*, + const xalan::XalanDOMString&, + const xalan::XalanDOMChar*, + xalan::XalanFileLoc, + xalan::XalanFileLoc +) { } void ErrorCapacitor::setPrintWriter(xalan::PrintWriter*) { } |