aboutsummaryrefslogtreecommitdiff
path: root/src/support/error_capacitor.h
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-06-05 20:44:26 +0200
committerAdrian Kummerländer2014-06-05 20:44:26 +0200
commit78bb3387b15d15d766fb5d17a99612f0480f2bee (patch)
treec87a2516f56d7f6317a704b91b340bc14cabfd28 /src/support/error_capacitor.h
parent11355181c0b5f8377774daefcc17bb5e6bc20f61 (diff)
downloadInputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar.gz
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar.bz2
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar.lz
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar.xz
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.tar.zst
InputXSLT-78bb3387b15d15d766fb5d17a99612f0480f2bee.zip
Implemented ErrorMultiplexer as primary error handler
* ErrorMultiplexer is derived from both xercesc::ErrorHandler and xalan::ProblemListener * registers itself as XalanTransformer's ErrorHandler and ProblemListener * distributes captured errors and warnings to all registered ErrorMultiplexer::Receiver instances ** ErrorCapacitor implements the ErrorMultiplexer::Receiver interface and as such registers itself in a given ErrorMultiplexer instance ** ErrorMultiplexer reduces the different xalan and xercesc internal error classifications into either warnings or errors * this was implemented to make it possible to easily differentiate between warnings and errors ** previously warnings were treated as errors ** ErrorCapacitor ignores warnings and only captures errors ** WarningCapacitor will be implemented to handle warnings during XSLT processing
Diffstat (limited to 'src/support/error_capacitor.h')
-rw-r--r--src/support/error_capacitor.h82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/support/error_capacitor.h b/src/support/error_capacitor.h
deleted file mode 100644
index b94d5f8..0000000
--- a/src/support/error_capacitor.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef INPUTXSLT_SRC_SUPPORT_ERROR_CAPACITOR_H_
-#define INPUTXSLT_SRC_SUPPORT_ERROR_CAPACITOR_H_
-
-#include <xercesc/sax/ErrorHandler.hpp>
-
-#include <xalanc/XSLT/ProblemListener.hpp>
-#include <xalanc/XalanTransformer/XalanTransformer.hpp>
-
-#include <memory>
-#include <vector>
-#include <string>
-
-#include "common.h"
-
-namespace InputXSLT {
-
-class ErrorCapacitor : public xercesc::ErrorHandler,
- public xalan::ProblemListener {
- public:
- class exception;
-
- typedef std::vector<std::string> error_cache;
- typedef std::unique_ptr<error_cache> error_cache_ptr;
-
- ErrorCapacitor(xalan::XalanTransformer*);
- ~ErrorCapacitor();
-
- void discharge();
-
- virtual void warning(const xercesc::SAXParseException&);
- virtual void error(const xercesc::SAXParseException&);
- virtual void fatalError(const xercesc::SAXParseException&);
- virtual void resetErrors();
-
- virtual void problem(
- xalan::ProblemListenerBase::eSource,
- xalan::ProblemListenerBase::eClassification,
- const xalan::XalanDOMString&,
- const xalan::Locator*,
- const xalan::XalanNode*
- );
-
- virtual void problem(
- xalan::ProblemListenerBase::eSource,
- xalan::ProblemListenerBase::eClassification,
- const xalan::XalanDOMString&,
- const xalan::XalanNode*
- );
-
- virtual void problem(
- xalan::ProblemListenerBase::eSource,
- xalan::ProblemListenerBase::eClassification,
- const xalan::XalanNode*,
- const xalan::ElemTemplateElement*,
- const xalan::XalanDOMString&,
- const xalan::XalanDOMChar*,
- xalan::XalanFileLoc,
- xalan::XalanFileLoc
- );
-
- virtual void setPrintWriter(xalan::PrintWriter*);
-
- private:
- xalan::XalanTransformer* const transformer_;
- error_cache_ptr error_cache_;
-
-};
-
-class ErrorCapacitor::exception {
- public:
- exception(error_cache_ptr);
-
- const error_cache* getCachedErrors() const;
-
- private:
- error_cache_ptr error_cache_;
-
-};
-
-}
-
-#endif // INPUTXSLT_SRC_SUPPORT_ERROR_CAPACITOR_H_